任何STL数据结构,如pair,提供三个项目(类型)而不是两个
Any STL data structure like pair that gives three items(types) instead of two?
问题1:
我正在使用c++ 11,我正在学习。我意识到我可以用两对来完成:
pair<pair<<#class _T1#>, <#class _T2#>>, <#class _T3#>>
这是最好的方法吗?
问题2:
如果我不需要不同的类型,所以两个项目都是相同的类型,使用pair是浪费吗,那么我应该使用什么?三件吗?(同类型)
使用std::tuple
:
std::tuple<_T1, _T2, _T3>
请注意,std::tuple
支持存储在其中的任意数量的类型。此外,要访问元素,您不能做pair.first
/pair.second
,您必须使用语法std::get<n>(tuple)
,其中n
是您想要检索的元素。
相关文章:
- 文本冒险游戏 - 如何区分一种项目类型与另一种项目类型以及如何构建项目类/子类
- C++项目类型
- Eclipse/CDT_C++给出"语义错误_"类型XXX无法解决"。项目运行
- 为什么我必须在初始化 std::array<SomeStruct, size> 时指定每个项目的类型C++
- 如何将项目放入具有模板化超类类型的向量中
- 使用模板在核心类型不同的不同项目中使用通用代码,这些项目的核心类型在 c++ 中是不同的
- 错误:在 mingw64 上构建 cmake+boost 项目时'GetSystemTimeAsFileTime'的类型冲突
- 如何在 Visual Studio 2015 中将项目的配置类型动态更改为静态库?
- 更改 std::set 以按 T 类型查找项目
- C ,代码::块,我应该在Windows和MacOS中选择哪种项目类型
- 我在项目中使用的所有数据类型的特殊类
- Eclipse 不支持C++项目类型
- Windows 8项目类型性能差异
- 强制将特定文件编译为Objective-C/文件类型,但将整个项目编译为Objective C++
- 游戏项目的多对象类型容器或动态铸造
- 在Cocoa/Objective-C项目中包含C++代码时'class'未知类型名称
- DLL项目应该是跨平台使用的类型
- 尝试在Linux Mint 17.1 64位上"make" C++项目时从cstdlib和类似内容编译错误(未声明/不是类型)
- 3个重载都无法转换所有参数类型(在MFC/C++项目中)
- LNK2005已定义在项目 [MSVC12] 中包含 C 类型头文件 C++错误