我试图std::vector
用作char
数组。
我的函数接受一个空指针:
void process_data(const void *data);
在我仅使用此代码之前:
char something[] = "my data here";
process_data(something);
哪个按预期工作。
但是现在我需要动态性std::vector
,因此我尝试了以下代码:
vector<char> something;
*cut*
process_data(something);
问题是,如何将char向量传递给函数,以便可以访问向量原始数据(无论它是哪种格式–浮点数,等等)?
我尝试了这个:
process_data(&something);
还有这个:
process_data(&something.begin());
但是它返回了一个指向乱码的指针,后者发出警告:warning C4238: nonstandard extension used : class rvalue used as lvalue
。
vector<bool>
此答案是一个例外(并且不具有bool
s 的连续内存存储)。