繁体   English   中英

C++ - 向量指针的问题

[英]C++ - problems with vector pointers

想象一下,我想用两个当前向量的内容来操作单个向量,例如:

vector<double> b(5),c(5);
vector<double*> point;  

for (int i; i<5; i++) point.push_back(new double(b[i]));
for (int i; i<5; i++) point.push_back(new double(c[i]));

这很好,直到这里。 如何操纵这样的向量? 我一直在尝试以下变体:

point[7] = 33.12;

我很确定我遗漏了一些关于参考的东西,因为“点 [7]”将是一个内存地址。

由于这是一个指针vector ,下标运算符返回一个指针

*point[0] = 33.12; // Assigns new value to the pointer
// Equivalent: *(point[0]), fetch a pointer and dereference it

例如:

vector<double*> point; 
double d = 3.14;
point.push_back(&d);
*point[0] = 1.61;
std::cout << *point[0] << std::endl; // Prints 1.61

PS 如对问题的评论所指定,请注意: for循环中的int i

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM