首页 > 解决方案 > C++,将两个值合二为一

问题描述

我之前读过 C++11 中允许将两个值保存为一个的结构或类,它的名称是什么?

例如,我想将 1 和 2 一起保存,我知道这很容易实现,但如果已经完成了为什么要实现我的 :)

标签: c++classstl

解决方案


存储多个值而不命名它们的传统方法是使用数组:

int arr[2] = {1, 2};

C++ 就是这样,你有很多其他方法可以做到这一点。您可以通过使用std::array, std::vector(或其他 STL 容器)、std::tuplestd::pairnew int[2]、来实现类似的目的struct {int x, y;} elms;,或者做一些疯狂的事情,比如将 2 个 32 位值存储在一个 64 位整数中。这些都适用于不同的用例,具体取决于您尝试存储的值是否具有相同的类型、是否知道在编译时要存储多少个、大小是否固定、是否有如果您尝试与 C API 等接口,则可以使用其中的一些或许多。我建议你看看我们的C++ Book Guide and List


推荐阅读