【问题标题】:Some questions with printing output in C++ [duplicate]在 C++ 中打印输出的一些问题 [重复]
【发布时间】: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&amp;,如果我没记错的话;对包含组成字符串的字符序列的内存区域的 const 引用,以 '\0' 或 NULL 字符终止。 (它可能表示为const char*const char[N],我不确定,但这三种类型几乎可以互换。)

标签: c++


【解决方案1】:

字符串字面量的类型是“char 的常量数组”,其元素数量与字面量中的字符一样多,最后一个空字符加一个。其他版本的字符串文字(宽、unicode)是其他字符类型的数组(wchar_tchar16_t 等)(例如see here)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 2020-05-14
    • 2014-10-28
    • 1970-01-01
    相关资源
    最近更新 更多