
c++ STL学习分享
本专栏主要分享本人学习STL过程,希望大家能够及时提出本人理解有误的地方,本专栏所有知识根据《c++高级编程》《c++ Primer》《c++标准库》《STL源码剖析》
Shanjun.hu
梦想做精品游戏的程序
展开
-
Windows两种获取毫秒时间戳的方法
windows平台获取毫秒时间戳的两种方法通过 ftime 获取毫秒时间戳#include <sys/timeb.h>uint64_t TimeMilliSecond(){ timeb now; ftime(&now); return now.time*1000 + now.millitm;}通过 GetSystemTimeAsFileTime获取毫秒时间戳#include <windows.h>uint64_t TimeMilli原创 2021-04-06 10:54:31 · 7912 阅读 · 0 评论 -
c++ 智能指针 -- shared_ptr
2.1 基本语义share_ptr 允许多个share_ptr对象共享听一个资源,通过引用计数来管理共享资源的生命周期,当最后一个shared_ptr对象被销毁时,引用计数变为0,其管理的资源也就被释放了。2.2 实现原理每一个shared_ptr包含一个引用计数指针,当其copy constructor或者assignment operator执行时候,其引用计数增加1,当其析构函数执行时候,其引用计数减1,引用计数增加或者减少是原子操作,因此多线程操作是安全的,其具体实现见如下代码 tem原创 2021-01-31 21:24:17 · 283 阅读 · 0 评论 -
c++ 智能指针 -- unique_ptr
1.1 基本语义c++11 引入unique_ptr智能指针,其对所管理资源拥有独占语义,不能多个多个unique_ptr管理同一个资源,离开其作用域时,会使用与其关联的删除器释放所管理的资源,c++14新增 make_unique工程方法来构造unique_ptr指针,从而避免在程序中显示使用new分配内存。unique_ptr提供了两个构造函数,用来管理数组或者对象资源,其Deleter模板参数可以指定删除器,用来释放所管理的资源template< class T, clas原创 2021-01-31 13:00:56 · 270 阅读 · 0 评论