Aar*_*ron 4 c++ string pointers char visual-studio-2008
题:
有什么区别:
vector<string>和vector<char *>?我如何将数据类型的值传递string给一个特别接受的函数:
const char *?对于例如:
vector<string> args(argv, argv + argc);
vector<string>::iterator i;
void foo (const char *); //*i
Run Code Online (Sandbox Code Playgroud)
vector<char *>:我将不得不复制数据,以及指针感谢您的投入!
jal*_*alf 17
这实际上与矢量没有任何关系.
A char*是指针,可以指向或不指向有效的字符串数据.
A std::string是一个字符串类,封装了构成字符串的所有必需数据,以及分配和释放功能.
如果你将它存储std::string在矢量或其他任何地方,那么一切都会正常工作.
如果存储char指针,则必须完成分配和释放内存的所有艰苦工作,并确保指针只指向有意义的字符串数据,并确定字符串的长度等等.
并且由于char*许多C API以及C++标准库的一部分都需要它,因此string该类具有c_str()返回a 的函数char*.
| 归档时间: |
|
| 查看次数: |
14963 次 |
| 最近记录: |