孟瀚宇
孟瀚宇
全部文章
c++
c++小程序(13)
cuda(1)
c语言(1)
github(1)
python(1)
指针(1)
搜狗(1)
未归档(1)
游戏(1)
游戏开发(1)
程序设计(1)
类(2)
编程语言(2)
归档
标签
去牛客网
登录
/
注册
孟瀚宇的博客
全部文章
/ c++
(共35篇)
浅谈c++内存管理
内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都会发生,因此要想成为C++高手,内存管理一关是必须要过的,除非放弃C++,...
2022-01-29
0
337
C++11 shared_ptr详解
要确保用 new 动态分配的内存空间在程序的各条执行路径都能被释放是一件麻烦的事情。C++ 11 模板库的 头文件中定义的智能指针,即 shared _ptr 模板,就是用来部分解决这个问题的。 只要将 new 运算符返回的指针 p 交给一个 shared_ptr 对象“托管”,就不必担心在哪里写...
2022-01-29
0
352
shared_ptr的计数问题
每个shared_ptr所指向的对象都有一个引用计数,它记录了有多少个shared_ptr指向自己 shared_ptr的析构函数:递减它所指向的对象的引用计数,如果引用计数变为0,就会销毁对象并释放相应的内存 引用计数的变化:决定权在shared_ptr,而与对象本身无关 二、引用计数初步 ...
2022-01-29
0
212
c++智能指针(weak_ptr)
weak_ptr是为了配合shared_ptr而引入的一种智能指针,因为它不具有普通指针的行为,没有重载operator*和->,它的最大作用在于协助shared_ptr工作,像旁观者那样观测资源的使用情况。weak_ptr可以从一个shared_ptr或者另一个weak_ptr对象构造,获得...
2022-01-29
0
315
shared_ptr使用时的陷阱
1:不要把一个原生指针给多个shared_ptr管理 int* ptr = new int; shared_ptr<int> p1(ptr); shared_ptr<int> p2(ptr); //logic error ptr对象被删除了2次
2022-01-29
0
182
共享数据的保护案例代码
共享数据的保护案例代码 假设我们设计一个网络游戏服务器:两个线程 1.一个线程记录玩家命令(用一个数字代表玩家发来的命令),并把命令数据写到一个队列中。 2.另外一个线程,从队列中取出玩家发送来的命令,解析,然后然后执行玩家需要的动作。 我们使用成员函数作为线程函数的方法来构造线程 #incl...
2022-01-29
0
179
c++11线程创建的三种方法
一、用一个初始函数创建一个线程 直接看代码:注意c++在运行一个可执行程序的时候(创建了一个进程),会自动的创建一个主线程,这个主线程和进程同生共死,主线程结束,进程也就结束了。 #include "pch.h" #include <iostream> #in...
2022-01-29
0
243
c++多线程detach的疑惑
为什么detach在线程里,使用了在3处delete的内存还不报错误??? 线程还没来得及执行,main函数就执行完了,直接杀死还没有执行完的线程,所以线程里使用了已经delete的内存,也没有出错。如果在main函数里调用sleep(2),就会出错误。 如果当main函数结束后,还不想结束其他由...
2022-01-29
0
276
c++11之线程共享数据
共享数据 通常我们启用多线程都是同时处理关键资源,会经常碰到资源竞争的情况,如果多个线程同时访问同个资源,会造成未知的错误。 当线程在访问共享数据的时候,必须定一些规矩,用来限定线程可访问的数据位。还有,一个线程更新了共享数据,需要对其他线程进行通知。从易用性的角度,同一进程中的多个线程进行数据共...
2022-01-29
0
333
线程池浅谈
//#include "stdafx.h" #include <iostream> #include <vector> #include <map> #include <string> #include <thread>...
2022-01-29
0
197
首页
上一页
1
2
3
4
下一页
末页