如何声明类的结构向量
How to declare a vector of structure of a class
我有一个类,里面有一个结构。如何创建这种结构类型的向量?
以下是示例:
class A {
public:
struct mystruct {
mystruct (int _label, double _dist) : label(_label), dist(_dist) {}
int label;
double dist;
};
}
现在在这个类"A"中有一个函数如下。
myfunc ( vector<mystruct> &mystry );
所以我的问题是,我需要用结构向量来调用这个函数。我该如何申报?
使用作用域运算符::
:
std::vector<A::mystruct>
class A
{
public:
struct mystruct
{
mystruct ( int _label, double _dist ) : label (_label), dist (_dist) {}
int label;
double dist;
};
void myfunc(std::vector<mystruct> &mystr);
}
只要你在mystruct之后声明myfunc,你就可以了。
当您声明A的方法时,mystruct
已经在范围内,因此您可以无条件使用它:
class A {
public:
struct mystruct {
mystruct (int _label, double _dist) : label(_label), dist(_dist) {}
int label;
double dist;
};
void myfunc(std::vector<mystruct> &);
}
但当你调用它时,调用的参数类型取决于你所在的位置:
void free_function() {
A a;
std::vector<A::mystruct> arg;
a.myfunc(arg);
}
void A::another_method() {
std::vector<mystruct> arg;
this->myfunc(arg);
}
相关文章:
- 将结构向量排序为子组
- NLOHMANN 的 JSON 库将数组转换为结构向量
- 如何在 c++ 中创建结构向量的映射
- 带unique_ptr的结构向量
- C++ - 如何在结构向量中找到结构体一个成员的最大值?
- 将信息输入到下面显示的结构向量中的正确语法/格式是什么
- C++对结构向量进行排序
- 在C++中对结构向量进行排序时出现问题
- 将结构向量保存到文件中,并从C++文件中读取结构向量
- 搜索并替换结构向量中的值
- 在结构向量中查找最接近的值
- 清除结构向量时会发生什么?
- 如何从 node-ffi 调用 c++ 中以结构向量作为参数的方法?
- 对结构向量进行两次排序
- 将一种数据类型的向量复制到同一数据类型的结构向量中的有效方法是什么
- 如何二进制搜索结构向量并在适当的索引处插入
- 结构向量中自定义结构函数的内存使用
- C++11-在结构向量中修改结构的成员
- 我正在尝试找到一个特定的结构成员,该成员是使用 lambda 函数的结构向量
- 在结构向量中搜索一个数据成员,然后打印匹配的所有数据成员