- 博客(6)
- 收藏
- 关注
原创 C++多线程函数记录
1. CreatThread产生一个线程,成功则返回一个handle,失败可调用GetLastError()获知原因HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, //新线程security属性,NULL表示缺省 SIZE_T dwStackSize, //新线程堆栈大小,0表示缺省:1MB LPTHREAD_START_ROUTINE lpStartA
2022-01-11 18:30:02
727
原创 C++内存管理:内存池实现
示例1:在类中提前分配一块连续的内存池,减少cookie(分配内存时产生的头尾共8个字节,用于记录分配了多少内存)对内存的消耗class Screen {public: Screen(int x) : i(x) {} int getData() { return i; } void* operator new(size_t); void operator delete(void*, size_t);private: static Screen* freeStore;//对象的内存地址
2022-01-03 17:51:20
1109
原创 C++11新特性:Alias Template + Template Template Parameter
Alias Template :模板别名方便使用自定义的容器,使用 #define 或 typedef 达不到同样的效果用法:template<typename T>using Vec = vector<T, MyAlloc<T>>; //MyAlloc是自定义的分配器,allocator用于分配内存Template Template Parameter:模板模板参数...
2022-01-01 13:05:13
536
原创 C++新特性:initializer_list<>
此类型用于访问 C++ 初始化列表中的值,值由array存储,类内包含一个指向array的指针。应用:①初始化容器:vector<int> v {1,2,3,4}; //{ } 内就用到了initializer_list②类似 Variadic Templates 的用法,可以包含多个参数,但是参数类型必须相同template<class T>void myPrint(initializer_list<T> vals) { for (auto
2021-12-31 19:09:40
409
原创 C++11新特性:Variadic Templates
数量不定的模板参数,后续可添加任意类型参数,函数内部递归调用,逐一取出每个元素注意点 :1、... 就是一个pack(包),要注意三个 ... 的位置。①模板参数包 ②函数参数类型包 ③函数参数包2、需要一个空的重载函数来应对最后一次函数递归参数为空的情况3、 sizeof...(包参数名) 可知包内参数个数示例://空重载函数void myPrint() {}template <typename T, typename... Types>void my
2021-12-31 15:12:15
209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人