std::map<Key, T>
之类的容器的value_type
其实是std::pair<const Key, T>
,所以不注意的话会生成多余的拷贝
#include <map>
#include <type_traits>
double foo(int key) {
const std::map a = {
std::pair<int, double>{
1, .1},
std::pair<int, double>{
std::map<Key, T>
之类的容器的value_type
其实是std::pair<const Key, T>
,所以不注意的话会生成多余的拷贝
#include <map>
#include <type_traits>
double foo(int key) {
const std::map a = {
std::pair<int, double>{
1, .1},
std::pair<int, double>{