为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取指向原始数据的std :: vector指针?

如何获取指向原始数据的std :: vector指针?

C++
料青山看我应如是 2019-10-26 13:25:35
我正在尝试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。
查看完整描述

3 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

something.data() 将返回一个指向向量数据空间的指针。


查看完整回答
反对 回复 2019-10-26
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

改用第一个元素的指针:


process_data (&something [0]);


查看完整回答
反对 回复 2019-10-26
  • 3 回答
  • 0 关注
  • 2644 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信