【发布时间】:2015-07-25 06:58:34
【问题描述】:
我正在研究 C++11 提供的新功能,发现std::remove_extent。
typedef std::remove_extent<int[24]>::type A; // A is int
但是,除了通过从给定类型中删除维度来从现有类型定义新类型之外,我找不到此方法的用法。
谁能说明为什么 C++11 引入了这个特性?使用它有什么好处吗?
【问题讨论】:
-
为什么不搜索“remove_extent”?在 SO 上,有例如this answer 使用
remove_extent。 -
“我找不到这个的用法,除了......” - 你提到的就是这个的全部意义,所以你刚刚回答了你的问题。更具体地说,您要从中删除范围的类型可能隐藏在
typedef后面,或者更常见的是模板参数。