可能重复:
C中的char s []和char*s有什么区别?
char a [] ="string"之间的区别; char*p ="string";
首先,我想问一下我在哪里可以学习char*和char []的所有基础知识.
大多数时候,我发现自己在如何比较和如何申报方面苦苦挣扎.
例1:
char *test = "hello world";
Run Code Online (Sandbox Code Playgroud)
这将在编译时产生以下警告:
warning: deprecated conversion from string constant to ‘char*’
Run Code Online (Sandbox Code Playgroud)
例2:
vector<char*> test2;
test2.push_back("hello world");
Run Code Online (Sandbox Code Playgroud)
这将产生复制字符串的错误.
所以我想出的解决方案是:
(它是否正确?)
vector<char*> test3;
char *str1 = "hello world"
test3.push_back(str1);
Run Code Online (Sandbox Code Playgroud)
提前致谢!:)
============================================
这里的人提供了两个好的读物:
您的问题"我在哪里可以学习char*和char []的所有基础知识",可能过于笼统,但您可以尝试阅读C++规范.
修改示例1,将其更改为
char const *test = "hello world";
Run Code Online (Sandbox Code Playgroud)
修改示例2,将其更改为
vector<std::string> test2;
test2.push_back("hello world");
Run Code Online (Sandbox Code Playgroud)
或者,如果你真的想要一个非拥有指针到c字符串的向量:
vector<char const *> test2;
test2.push_back("hello world");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |