结构指针的向量
vector of struct pointer
以下是我的问题
struct point{
int x;
int y;
};
struct OuterStruct
{
std ::vector <point *> pa;
std ::vector <point *> pb;
};
OuterStruct atest; // global variable
现在在我的主程序中,我正在做这个
point n ;
n.x=1;
n.y =2;
atest.pa.push_back(n);
atest.pb.push_back(n);
.
和其他一些函数如果我使用这个全局结构,pa和pb的值丢失了,它们有一些垃圾值。我做错什么了吗
改变指针向量:
struct OuterStruct
{
std::vector<point*> pa;
std::vector<point*> pb;
};
转化为对象向量:
struct OuterStruct
{
std::vector<point> pa;
std::vector<point> pb;
};
也- 使用有意义的名称(
pa
,pb
,atest
和OuterStruct
不怎么说…) - 在命名约定上保持一致(如果你用
UpperCamelCase
命名类型,那么point
->Point
) 尽量避免使用全局变量 为
point
创建自定义构造函数以简化其创建:struct point { point(int x_, int y_) : x(x_), y(y_) { } int x; int y; };
那么你可以简单地做:
atest.pa.push_back(point(1,2));
相关文章:
- 函数向量_指针有不同的原型,我可以构建一个吗
- 有没有一种"cleaner"的方法可以在指向基的指针向量中找到派生类的第一个实例?
- 使用向量类的c++指针
- 如何使用C++初始化向量;脚本化值不是数组、指针或矢量错误
- 如何更改唯一指针向量的可见性
- C++ 独特指针练习的向量
- C 中的向量指针的清晰图
- 当向量位于内部类中时,如何删除指向对象的向量指针
- std::向量指针
- 指向结构体的向量指针错误
- 删除指向指针的向量指针时出错
- 映射不同类型的向量指针
- 在c++中传递向量指针
- 虚拟类的向量:指针是干净的方法吗
- 如何从另一个向量/对象集构造新的向量/指针集
- 模型视图控制器- c++向量指针,太多的传递
- 为什么向量指针占用这么多内存?
- 删除条目向量指针的静态映射c++
- 复向量指针
- c++数组向量指针的初始化