C++的另一面

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012424148/article/details/85787148

本博文会持续更新,记录C++少为人知的特点可作为笔记温习之用,先罗列出关键词和简要介绍,再给出诸多参考链接便于进一步探求。


1、RAII机制

    Resource Acquisition Is Initialization:资源获取即初始化,构造函数里申请资源,析构函数里释放资源。应用如智能指针、lambda表达式。核心思想是将资源或者状态与对象的生命周期绑定,通过C++的语言机制,实现资源和状态的安全管理。理解和使用RAII能使软件设计更清晰,代码更健壮。有安全、简洁、实时的特点。

【参考链接】

http://ju.outofmemory.cn/entry/56048

https://www.cnblogs.com/jiangbin/p/6986511.html

2、GC机制

    garbage collection:垃圾回收机制,在一个支持垃圾收集的语言中,程序显式地申请内存,但从不需要显式的释放它们。垃圾收集器会定期识别垃圾块,并将垃圾块放回空闲链表中。引用计数是为大多数人所了解,容易联想到的一个GC机制算法。

【参考资料】

https://www.aliyun.com/jiaocheng/551998.html

http://www.hpl.hp.com/personal/Hans_Boehm/gc/ (不少人用这个GC来进行开发)
http://www.devarticles.com/c/a/Cplusplus/A-Simple-Garbage-Collector-for-C-plus-plus/
http://cybertiggyr.com/gene/garbage-collection-cpp/ 

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm

3、关于=delete和=default

C++ 11中类的四种特殊函数(默认构造函数、析构函数、拷贝构造函数以及拷贝赋值运算符)的控制。

"=default"函数特性仅适用于类的特殊成员函数,且该特殊成员函数没有默认参数作用:1. 减轻程序员的编程工作量;2. 获得编译器自动生成的默认特殊成员函数的高的代码执行效率。

“=delete”在函数声明后加上,可将该函数禁用。作用:避免了某些非法的函数调用或者类型转换,从而提高了代码的安全性。

【参考资料】

https://www.ibm.com/developerworks/cn/aix/library/1212_lufang_c11new/index.html 【这篇文很棒】

https://www.cnblogs.com/lsgxeva/p/7787438.html

http://blog.jobbole.com/103669/

……未完待续

猜你喜欢

转载自blog.csdn.net/u012424148/article/details/85787148