![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Aff ''
你是我的文艺复兴
展开
-
【C++】写时拷贝技术
可以理解为 “写时才拷贝技术”功能: 修改前:浅拷贝(增加一个指针指向已存在的内存) 修改时:深拷贝(增加一个指针并申请一个新的内存,使这个增加的指针指向新的内存)三种情况: 对象:普通成员变量 类中:静态成员变量 内存中代码实例:#pragma warning(disable:4996)class String{public: Strin...原创 2019-01-13 23:45:50 · 104 阅读 · 0 评论 -
【C++】模板 全特化、偏特化
在定义模板类型参数时,typename和class作用相同! 1. 函数模板 在编译阶段执行 a 定义点 模板头部 b 调用点 模板函数2. 模板函数3. 模板的实例化 // 函数模板到模板函数的一个转换过程4.模板的实例推演int main(){ Sum(10,20); //模板的实参推演 //程序可以运...原创 2018-12-31 23:46:01 · 218 阅读 · 0 评论 -
【C++】const修饰一级指针、二级指针、引用、形参返回值的用法
引用(&):引用就是一个别名引用一定要初始化 // int &b; error 引用引用的变量一定要能取地址 ...原创 2018-11-26 21:22:55 · 445 阅读 · 3 评论 -
【C++】预编译、编译、汇编、链接
Windows中以2:2划分内核、用户空间,Linux中以1:3划分内核、用户空间。在text段中,只有普通局部变量是指令int gdata1 = 10; //.data 已初始化且初始化不为零的数据int gdata2 = 0; //.bss 未初始化或初始化为零的数据int gdata3; //.bssstatic int gdata4 = 20; ...原创 2018-11-15 01:02:20 · 13494 阅读 · 34 评论 -
【C++】内存管理方式——内存池
内存池是一种内存分配方式// 重载new()void* operator new(size_t size){ std::cout << "operator new(size_t)" << std::endl; return malloc(size);}// 重载delete()void operator delete(void* ptr){ fr...原创 2019-01-14 20:41:51 · 476 阅读 · 0 评论 -
【C++】实现单例模式 [懒汉模式、饿汉模式]
单例模式:保证一个类只被实例化一次!单例模式有懒汉和饿汉两种模式;懒汉模式:第一次用到类的时候再去实例化;适合在访问量较小的时候使用; 【时间换空间,懒汉模式本身是线程不安全的!】饿汉模式:类定义的时候就初始化;由于要进行线程同步,所以在访问量较大或可能访问的线程较多的情况下使用 【空间换时间,安全!】< 饿汉...原创 2019-09-06 15:29:38 · 437 阅读 · 0 评论