对
看起来像这样:
std::vector<std::pair<uint64 /*id*/, std::string /*message*/>
如果我想要 vector
中的 3 个变量?我可以使用 pair 还是什么?
最佳答案
在 C++ 中,有时我发现定义琐碎的全公共(public)数据类非常有用,例如
struct Event {
int id = 0;
std::string msg = "";
double time = 0.;
};
当然需要打字,但在我看来比使用 e.second
更好或 std::get<1>(e)
而不是 e.msg
代码中无处不在。
写作一次,阅读多次。以增加阅读/理解时间为代价来节省写作时间是一个非常糟糕的主意。
这种方法的缺点是您无法访问元程序中结构的第 n 个成员,但是由于许多其他原因,C++ 元编程无论如何都非常薄弱,所以如果您真的需要非平凡的元代码,我' d 建议退出 C++,使用以合适的语言编写的外部 C++ 代码生成器,而不是模板技巧和技巧。
关于c++ - std::pair 中有超过 2 个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27593856/