C++ 字符串字面量数据类型存储

void f()
{
    char *c = "Hello World!"
}

字符串存储在哪里?它的属性是什么?我只知道它是一个常数,还有什么?我可以从函数体内部返回它吗?

Where is the string stored? What's the property of it? I just know it is a constant, what else? Can I return it from inside of the function body?

推荐答案

它与你的二进制文件打包在一起――我所说的打包是指硬接线,所以是的,你可以返回它并在其他地方使用它――你不会能够改变它,我强烈建议你将其声明为:

it is packaged with your binary -- by packaged I mean hard-wired, so yes you can return it and use it elsewhere -- you won't be able to alter it though, and I strongly suggest you declare it as:

const char * x = "hello world";

相关文章