ポインタはどうやって学ぶべきか
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
500:デフォルトの名無しさん 07/11/25 15:39:28 >>478 ぬるぽは、あらゆるポインタ型について存在する。 int*のぬるぽ、void*のぬるぽ、char*のぬるぽ、void(Foo::*)(void)のぬるぽ・・・ 定数「0」は任意の型のぬるぽに暗黙に変換できるので、NULLマクロを0と定義しているのは妥当。 単なる0でなく(void*)0と定義してる場合もあるが、その理由は、単なる0は整数型にもなるので、 char c = NULL; と書くバカがしばしば現れるため。 (void*)0は整数型としては通らないので、これで一応そういうバカを少しは防げる。 Cではvoid*はあらゆるポインタ型に暗黙に変換できるので、これでも特に問題はない。 C++ではvoid*の暗黙の変換が無くなったので、(void*)0をNULLの定義には使えなくなった。 つまり例えば int *p = (void*)0; というのはCでは通るがC++では通らない。 501:デフォルトの名無しさん 07/11/25 16:08:17 >>486 16進定数は0xで始まらないといけないので、数値0をあらわすには0x0とする必要がある。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5395日前に更新/171 KB
担当:undef