相关疑难解决方法(0)

在STL映射中,使用map :: insert比[]更好吗?

不久前,我与一位同事讨论了如何在STL 地图中插入值.我更喜欢 map[key] = value; 因为它感觉自然而且阅读清晰,而他更喜欢 map.insert(std::make_pair(key, value))

我刚刚问他,我们都不记得插入更好的原因,但我确信这不仅仅是一种风格偏好,而是有一个技术原因,如效率.在SGI STL参考只是说"严格地说,这个成员函数是不必要的:它的存在只是为了方便."

任何人都可以告诉我这个理由,还是我只是梦想有一个?

c++ stl stdmap map

199
推荐指数
8
解决办法
16万
查看次数

插入地图的首选/惯用方式

我已经确定了四种不同的插入方式std::map:

std::map<int, int> function;

function[0] = 42;
function.insert(std::map<int, int>::value_type(0, 42));
function.insert(std::pair<int, int>(0, 42));
function.insert(std::make_pair(0, 42));
Run Code Online (Sandbox Code Playgroud)

哪一种是首选/惯用的方式?(还有另一种我没想过的方法吗?)

c++ stl insert stdmap std-pair

91
推荐指数
5
解决办法
10万
查看次数

C++在地图中插入unique_ptr

我有一个类型的C++对象 ObjectArray

typedef map<int64_t, std::unique_ptr<Class1>> ObjectArray;
Run Code Online (Sandbox Code Playgroud)

创建一个unique_ptr新的类型对象Class1并将其插入到类型的对象中的语法是什么ObjectArray

c++ pointers stl map unique-ptr

52
推荐指数
3
解决办法
5万
查看次数

标签 统计

c++ ×3

stl ×3

map ×2

stdmap ×2

insert ×1

pointers ×1

std-pair ×1

unique-ptr ×1