我有:
std::map<double, Foo> map;
for (auto&& [first, second] : map) { /* ... */ }
其中Foo
是在其他地方声明的类
我目前看到两个问题:
[second
这里是Foo&
,这是正确的,但是您也可以使用std :: as_const将其设置为const Foo&
for (auto&& [first, second] : std::as_const(map)) { /* ... */ }
所以这不是问题。
[first
在这里是const double&
,对于内置类型而言效率低下。
是否有办法使first
取值?
我确定这没有被忽略。
我有:std :: map
首先是
const double&
,对于内置类型而言效率低下。