将该向量的元素推入结构的向量中
Pushing into a vector of struct an element of that vector
我已经声明了这样一个结构:
struct Point{
double x,y;
Point(){}
Point(double xx,double yy): x(xx),y(yy){}
};
我正在尝试填充向量,如下所示:
vector<Point> s(1);
Point tmp(1,2);
s[0]=tmp;
s.push_back(s[0]);
不幸的是,当我显示s[1]的内容时,这样做会给我一个错误的答案,但s.push_back((Point)s[0])
会导致预期的答案(例如s[0]的副本)。
两者之间有什么区别CCD_ 2和CCD_
引擎盖下面有什么自动类型的转换吗?
push_back
通过常量引用获取参数(通过右值引用获取其他重载),因此
s.push_back(s[0]);
使用第一个元素的左值引用,但是,如果容量不够大,push_back
可能会重新分配。因此,从s[0]
中提取的引用处于悬空状态,不再可行。
在的另一边
s.push_back((Point)s[0]);
创建一个临时的,然后不再使用s[0]
,允许在vector
中推送一个有效的Point
。
相关文章:
- 将结构向量排序为子组
- 访问存储在向量C++中的结构的多态成员
- NLOHMANN 的 JSON 库将数组转换为结构向量
- 在nlohmann json中,如何将嵌套对象的数组转换为嵌套结构的向量
- 如何在 c++ 中创建结构向量的映射
- 带unique_ptr的结构向量
- C++ - 如何在结构向量中找到结构体一个成员的最大值?
- C++,从文件读取到结构,然后读取到向量(结构被推入向量太多次,而不仅仅是一次)
- 将 int 映射到 C++ 中的向量结构
- 如何在 c++ 中的向量结构中使用结构向量
- 无法将值存储到向量结构中
- 无法将.CSV文件读取为代表向量结构的类
- MPI,C,派生类型,向量结构
- 向量结构的打印成员
- 在 c++ 中对向量<结构 S> 进行二分搜索?
- 不需要删除向量<结构A*>
- 在C++中循环向量结构<string>
- 将字符串放入字符串的向量结构中
- 共享内存中的向量结构
- 我的向量结构没有像预期的那样迭代