| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 369 人关注过本帖
标题:关于字符串数组的问题
只看楼主 加入收藏
简体字01
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:137
注 册:2012-3-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
关于字符串数组的问题
刚学字符串数组,下面的程序求解,为什么输出结果是16和48,那个sizeof是有什么用的,还有一个疑问就是字符串变量比较大小是怎么比较的,以什么为依据排列的。#include<iostream>
using namespace std;
#include<string>
int main()
{
    string s[3]={"Tan","Zhao","Li"};
    cout<<sizeof(string)<<"  "<<sizeof(s)<<endl;
    return 0;
}

请各位帮忙解答下,谢谢。
搜索更多相关主题的帖子: 字符串 
2012-03-29 22:16
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:20 
sizeof(string) 这个和他的类里面的成员 有关了,至于为什么为16,你的看string是怎么封装的,
sizeof(s)就是因为你定义了三个string对象 每个大小为16  所以 sizeof(s)就是 3 * 16 = 48了

注意的是 s为数组的时候 sizeof求得的是总大小而不是指针大小

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-03-30 11:11
简体字01
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:137
注 册:2012-3-4
收藏
得分:0 
回复 2楼 yuccn
谢谢解答,但还是有些不懂。
“至于为什么为16,你得看string是怎么封装的” 这是什么意思??
2012-03-30 21:22
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
就是说 研究sizeof(string)没有意义,它的大小得看它是怎么封装的,也就是说看他源代码意义还大一点

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2012-03-31 21:57
简体字01
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:137
注 册:2012-3-4
收藏
得分:0 
回复 4楼 yuccn
恩恩,谢谢。
2012-04-01 11:59
快速回复:关于字符串数组的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019706 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved