C++ C++;,一次保存两个值

C++ C++;,一次保存两个值,c++,class,stl,C++,Class,Stl,我以前在C++11中读到一个允许将两个值保存为一个值的结构或类,它的名称是什么 例如,我想同时保存1和2,我知道这很容易实现,但如果已经实现了1,为什么要实现我的:)存储大量值而不全部命名的传统方法是使用数组: intarr[2]={1,2}; C++就是这样,你有很多其他的方法可以做到这一点。使用std::array,std::vector(或其他STL容器),std::tuple,std::pair,new int[2],struct{int x,y;}elms,或者做一些疯狂的事情,比如

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


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

存储大量值而不全部命名的传统方法是使用数组:

intarr[2]={1,2};

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

也许是
std::pair
或任何您想要存储的类型。它们不必相同。如果需要两个以上的值,则有
std::tuple
。如果值具有相同的类型,则也有
std::array
。@smith内置于该语言中。标准库提供了许多方便的内容,有时但并不总是只搜索您想要的内容就可以找到正确的内容。试试“C++两个值”(点击两下“C++两个值”也就可以了)