首页 > 代码库 > sizeof string
sizeof string
?
1 2 3 4 5 | char a[] = "hello" ; string s = "hello" ; cout<< sizeof (a)<<endl; cout<< sizeof (s)<<endl; cout<< sizeof (s.c_str())<<endl; |
输出为
?
1 2 3 | 6 32 4 |
最后一个c_str返回的是char*,所有指针的长度都为4。sizeof(s)为什么为32?
查了一下,因为string是一个对象,这里相当于求一个对象的空间大小,具体内容应该是指针指向,动态分配。所以无论s有多少,返回的都是32.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。