std::map,不同的插入方式,会导致崩溃

简介: std::map,不同的插入方式,会导致崩溃

今天发现一个有意思的事情:

//m_oFunctionMap[strKey] = pNew;
m_oFunctionMap.insert(std::map<std::string, MemoryRecord*>::value_type(strKey, pNew));

第一句有时会导致崩溃.

第二句则正常.

目录
相关文章
|
24天前
|
存储 算法 C++
【C++ map结构 】std::map 和 std::unordered_map 在使用上的差异
【C++ map结构 】std::map 和 std::unordered_map 在使用上的差异
20 0
|
23天前
|
算法 前端开发 大数据
【C/C++ 基础知识 】C++中易混淆的函数和关键字:std::find vs std::search,std::remove vs std::erase,remove vs delete
【C/C++ 基础知识 】C++中易混淆的函数和关键字:std::find vs std::search,std::remove vs std::erase,remove vs delete
35 0
|
3月前
|
安全 C++
C++ std::thread::detch函数之遇坑记录
调用thread::detch后,程序有可能会在当前调用函数执行完之后才去构造实参对象
16 0
C++ std::thread::detch函数之遇坑记录
[VC6]std::vector派生类无法调用std::vector的解决方法
[VC6]std::vector派生类无法调用std::vector的解决方法
|
6月前
|
C++
std::string 不能跨dll的一种解决方法
std::string 不能跨dll的一种解决方法
|
7月前
|
存储 API C++
C++ std::vector元素的内存分配问题
在使用C++ STL的vector时,下面三种写法有什么不同呢?其内存分配是怎么样的呢? 首先,说结论吧(假设T是一个定义好的类): 对于std::vector<T> vec;这种方式vec在栈上(stack),而其中的元素T保存在堆上(heap); 对于std::vector<T>* vec = new std::vector<T>();这种方式vec和其中的元素T都保存在堆上; 对于std::vector<T*> vec;这种方式vec在栈上(stack),而其中的元素T保存在堆上(heap);和第一种情况类似。
81 0
|
7月前
|
C++
C++11特性之std:call_once介绍
std:call_once是C++11引入的新特性,如需使用,只需要#include <mutex>即可,简单来说std:call_once的作用,确保函数或代码片段在多线程环境下,只需要执行一次,常用的场景如Init()操作或一些系统参数的获取等。
109 0
|
7月前
std::jthread与std::thread区别
std::jthread是C++20新引入的线程类,与 std::thread 类似,或者说,jthread是对thread进一步的封装,功能更强大。
|
7月前
|
算法 C++ 容器
C++ std::remove/std::remove_if/erase用法探讨
std::remove 不会改变输入vector/string的长度。其过程相当于去除指定的字符,剩余字符往前靠。后面的和原始字符保持一致。
|
12月前
|
C++
c++中的std::stod, stCPP程序说明std::stod():stof, std::stold
std: :stod() : 它将字符串转换为双精度。
122 0