Sky*_*eSM 37 c++ arrays vector
从向量中获取char数组的最简单方法是什么?
我正在做的方法是使用vector begin和end迭代器初始化一个字符串,然后从这个字符串中获取.c_str().还有其他有效的方法吗?
eco*_*ast 73
这在Scott Meyers的Effective STL中进行了讨论,你可以做到&vec[0]
获得an的第一个元素的地址std::vector
,并且由于标准约束向量具有连续的内存,你可以做这样的事情.
// some function
void doSomething(char *cptr, int n)
{
}
// in your code
std::vector<char> chars;
if (!chars.empty())
{
doSomething(&chars[0], chars.size());
}
Run Code Online (Sandbox Code Playgroud)
编辑:从评论(谢谢卡萨布兰卡)
ron*_*nag 44
std::vector<char> chars;
char* char_arr = chars.data(); // &chars[0]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
34850 次 |
最近记录: |