スレを勃てるまでもないC/C++の質問はここで 24at TECH
スレを勃てるまでもないC/C++の質問はここで 24 - 暇つぶし2ch24:デフォルトの名無しさん
15/12/02 18:07:06.08 tKolsFeX.net
>>22
> ポインタのサイズと同様にそのサイズが環境に一致することを示すため
大体あってる。ポインタを安全に整数として扱うための型が INT_PTR。
64-bit 環境の Windows だと int 型が 4 バイト、ポインタが 8 バイトで
ポインタを int 型の変数に格納できない。
32-bit 環境で int 型にポインタを格納できたのはたまたま int 型とポインタ型の
サイズが一致していたから。
ついでに言うと c99 で intptr_t と uintptr_t 型が仕様として定義されている。
もしも今後 Windows 以外の環境への移植を考えるならそちらを使うようにすべき。
# どうでもいいけど、Windows SDK って何か変な型を定義してるよね
# DWORDLONG (UINT64, ULONG64, ULONGLONG 含めすべて uint64_t と同じ) とか
# HALF_PTR (intptr_t の半分のサイズ) とか LONG_PTR (INT_PTR との違いが分からん) とか


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch