【发布时间】:2015-12-27 02:24:58
【问题描述】:
当我使用时:
std::cout << "Hello world ";
“Hello world”是什么类型?
它存储在哪里,所以我可以把它拿出来使用它?
由于某些原因,我不想使用类似的东西:
std::string str = "Hello world";
std::cout << str;
请帮帮我,我搜索了一个小时还是没有答案。
【问题讨论】:
-
C++ 中字符串文字的类型是
const char[N]。你问题的其他部分我真的不清楚。 -
使用
std::string str = "Hello world";绝对是存储"Hello world"并使用它的最佳方式。 -
字符串常量被放入编译程序的数据部分。当程序初始化时,它被加载到堆上的内存中(通常)。
-
另外,“一些原因”是什么?为什么不能声明变量?我唯一能想到的就是代码高尔夫,但如果你在打高尔夫,你可能应该比这更了解你使用的语言。
-
基本底层类型是
const char&,如果我没记错的话;对包含组成字符串的字符序列的内存区域的 const 引用,以'\0'或 NULL 字符终止。 (它可能表示为const char*或const char[N],我不确定,但这三种类型几乎可以互换。)
标签: c++