sizeof操作符的作用是返回一个一个对象或者类型名的长度,返回类型为size_t。长度的单位是字节,size_of表达式的结果是编译时常量。
将size_of应用于表达式时,并没有计算表达式的值,而只是的需要表达式结果的类型。
使用size_of的结果部分依赖于所涉及的类型:
对char类型或值为char类型的表达式做size_of操作结果保证为1;
对引用类型做size_of操作将返回存放此引用类型对象所需的空间;
对指针做size_of操作将返回存放指针所需要的内存大小;注意,如果要获取指针所指向的对象的大小,需对指针进行解引用;
对数组做size_of操作等小雨将其元素类型做size_of操作的结果乘上数组元素的个数。
例如,如下代码:
#include <iostream>
using namespace std;
int main()
{
char ch = 'h';
cout << sizeof(ch) << endl;
char& cha = ch;
cout << sizeof(cha) << endl;
char* add = &ch;
cout << sizeof(add) << endl;
char str[] = "hello";
cout << sizeof(str) << endl;
return 0;
}运行程序输出结果为:
1
1
4
6