sizeof操作符的作用是返回一个对象或者类型名的字节长度。它有以下三种形式:
sizeof(type name); sizeof(object); sizeof object;
它返回的类型是size_t,这是一种与机器相关的typeof定义。如:
#include<cstddef>
int ia[]={0,1,3};
size_t array_size=sizeof ia;//返回整个数组的大小
size_t element_size=array_size/sizeof(int);//返回int类型的大小
通过上面的代码大家都可能大概知道了sizeof的使用,下面给出一段代码:
#include<iostream>
#include<cstddef>
#include<string>
using namespace std;
int main()
{
//一个string的大小与它所指向的字符串的长度无关
string str1="Foot";
string str2="This is same the str1";
string *ps=&str1;
cout<<sizeof(str1)//输出16而不是5
<<" "<<sizeof(str2)//还是输出16
<<" "<<sizeof(ps)//输出4
<<" "<<sizeof(*ps)//输出16
<<endl;
}
大家一定要记住sizeof()跟size()的区别就可以了,还要记住一个string的大小与它所指向的字符串的长度无关