C/C++ | sizeof

首先需要说明的是 sizeof 是一种特殊的操作符(因为其结果在编译器就计算好并替换了),其结果在编译时就由编译器算好了的。

 

需要注意的:

操作对象是数组返回整个数组占用内存大小,而指针(如动态数组)就是一个指针的大小(原因就是其计算发生在编译期)。

不同编译器的优化不同,对齐方式不同,结果可能会不同。

sizeof(a=3),返回的是=的返回值的大小,而 a=3 不会被执行,因为编译器 sizeof 就被替换成了 4。

无法操作函数指针或返回void的函数。

string 类型的 sizeof 操作结果都是对指针的操作。

关于类的 sizeof:http://blog.csdn.net/szchtx/article/details/10254007

 

posted on 2015-10-02 11:24  Excavator  阅读(131)  评论(0编辑  收藏  举报

导航