size_t是否僅限於C++標準或C標準?size_t僅在C++標準或C標準中嗎?
我在定義size_t的「/ usr/include」樹中找不到C頭。
如果它不在C標準中,GCC只是在做一些神奇的事情來使事情發揮作用嗎?
謝謝, Chenz
size_t是否僅限於C++標準或C標準?size_t僅在C++標準或C標準中嗎?
我在定義size_t的「/ usr/include」樹中找不到C頭。
如果它不在C標準中,GCC只是在做一些神奇的事情來使事情發揮作用嗎?
謝謝, Chenz
從C99草案:
7.17通用定義<stddef.h>
以下類型和宏定義在標準標題<stddef.h>
中。某些 也在其他標題中定義,如各自子條款中所述。
的類型是[ - 剪斷 - ]
size_t
這是sizeof
操作符的結果的無符號整數類型; [ - 剪斷 - ]
「其他頭文件」部分適用於'size_t',它也在'
size_t
在兩個<stddef.h>
和<stdlib.h>
爲size_t被定義爲stdlib.h爲C(或在cstdlib.h C++)。
它在ansi c的string.h中定義。
的size_t是C標準庫
它宣佈
#include <stddef.h> //For C
#include <cstddef> //For C++
$ grep -R -P "typedef.*\s+size_t;" /usr/include/ 2> /dev/null
會給你定義爲size_t
文件列表,你爲什麼認爲這應該是在/ usr/include目錄? – 2010-03-30 18:40:15
尼爾是對的,你看錯了地方。 C++頭文件位於/ usr/include/C++/$ {gcc-version} – 2010-03-31 08:32:21