【发布时间】:2010-09-02 16:52:06
【问题描述】:
#include <cstdlib>
#include <iostream>
int main(int argc, char *argv[])
{
cout << "size of String " << sizeof( string );
system("PAUSE");
return EXIT_SUCCESS;
}
输出:
字符串大小 = 4
这是否意味着,由于sizeof(char) = 1 Byte (0 to 255),字符串只能包含4 个字符?
【问题讨论】:
-
“字符串”从何而来?通过编译器运行示例代码会产生编译错误,因为许多事情是未定义的。 (我无法想象大小,但最幼稚的“字符串”实现只有 4 个。)
-
@dash-tom-bang 刚刚编辑以包含我的头文件
-
@Kevin:这些标题都不一定定义
string。如果你想要std::string,那么它来自<string>。cout来自<iostream>,但它位于命名空间std。花一点时间来获取一些可以编译的代码:在他们知道string在你的程序中实际上是什么之前,没有人可以回答你的问题,他们所能做的就是猜测你遗漏了什么。 -
我应该补充一点:如果
<iostream>包含<string>对你来说并不奇怪,但如果它为你做了一个using namespace std;那就相当令人惊讶了... -
想想你在问什么。你真的相信字符串只能包含四个字符吗?我确定你不会。请询问您真正在想什么。