C++ 帮助定义和使用结构向量的向量
C++ Help to define and use a vector of vector of a struct
我的意图是用C++构建这样一个数据结构:
struct callbackDataUnit {
std::string columnName;
std::string columnData;
};
std::vector<callbackDataUnit> callbackRow;
std::vector<callbackRow> callbackSet; <--- Invalid... It needs a type here
编译器首先抱怨 callbackRow
上缺少 os static
。即使我在那里使用 static
,它仍然无法编译,因为结构自然无效
我想借此机会进一步了解 C++(我是该领域的初学者),所以我的问题是:
a) 为什么这里需要 static
限定符?
b) 我怎样才能解出这个第一个变量的矩阵?我可以在这里创建 3 类(CallbackDataUnit
、CallbackRow
和 CallbackSet
),但我觉得我会在这里失去真正的 C++ 功能。将 callbackRow
设为单个元素 struct
以便添加到 callbackSet
是否有意义?
感谢您的帮助
我想你想定义新类型,而不是变量。
为此,您可以使用 typedef
或 using
。
typedef std::vector<callbackDataUnit> callbackRow;
typedef std::vector<callbackRow> callbackSet;
using callbackRow = std::vector<callbackDataUnit>;
using callbackSet = std::vector<callbackRow>;
如果只想定义变量,可以使用:
std::vector<callbackDataUnit> callbackRow;
std::vector<decltype(callbackRow)> callbackSet;
我的意图是用C++构建这样一个数据结构:
struct callbackDataUnit {
std::string columnName;
std::string columnData;
};
std::vector<callbackDataUnit> callbackRow;
std::vector<callbackRow> callbackSet; <--- Invalid... It needs a type here
编译器首先抱怨 callbackRow
上缺少 os static
。即使我在那里使用 static
,它仍然无法编译,因为结构自然无效
我想借此机会进一步了解 C++(我是该领域的初学者),所以我的问题是:
a) 为什么这里需要 static
限定符?
b) 我怎样才能解出这个第一个变量的矩阵?我可以在这里创建 3 类(CallbackDataUnit
、CallbackRow
和 CallbackSet
),但我觉得我会在这里失去真正的 C++ 功能。将 callbackRow
设为单个元素 struct
以便添加到 callbackSet
是否有意义?
感谢您的帮助
我想你想定义新类型,而不是变量。
为此,您可以使用 typedef
或 using
。
typedef std::vector<callbackDataUnit> callbackRow;
typedef std::vector<callbackRow> callbackSet;
using callbackRow = std::vector<callbackDataUnit>;
using callbackSet = std::vector<callbackRow>;
如果只想定义变量,可以使用:
std::vector<callbackDataUnit> callbackRow;
std::vector<decltype(callbackRow)> callbackSet;