我正在尝试获取矢量项的地址,如下所示:
std::transform(m_vector.begin(), m_vector.end(),
m_address.begin(),
[](std::vector<T> val){return val.data();};
但是它为所有项目返回相同的地址。我认为它是局部变量vals`地址的地址。 如何在不使用raw for循环的情况下返回向量中的项目地址? 谢谢!
答案 0 :(得分:0)
我认为它是局部变量vals地址的地址。
完全正确。 (尽管更具体,但这是局部向量的内部缓冲区的地址。)
如何返回矢量中的商品地址
如果将参数声明为引用,则可以使该参数引用另一个对象(在本例中为向量内的对象):
[](std::vector<T>& val)