大小(一些指針)總是等于4嗎?例如:sizeof(char*)返回4.同樣int*, long long*我嘗試過的一切。有例外嗎?
3 回答

收到一只叮咚
TA貢獻1821條經驗 獲得超5個贊
sizeof(char) == 1
sizeof(int *) == sizeof(double *)
.

森林海
TA貢獻2011條經驗 獲得超2個贊
即使在普通的x86 32位平臺上,您也可以獲得各種指針大小,例如:
struct A {};
struct B : virtual public A {};
struct C {};
struct D : public A, public C {};
int main()
{
cout << "A:" << sizeof(void (A::*)()) << endl;
cout << "B:" << sizeof(void (B::*)()) << endl;
cout << "D:" << sizeof(void (D::*)()) << endl;
}
在Visualc+2008下,我得到了4、12和8的指針到成員函數的大小.

慕勒3428872
TA貢獻1848條經驗 獲得超6個贊
#include <stdio.h>#include <stdlib.h>int main() { char far* ptr; // note that this is a far pointer printf( "%d\n", sizeof( ptr)); return EXIT_SUCCESS;}
- 3 回答
- 0 關注
- 308 瀏覽
添加回答
舉報
0/150
提交
取消