Effective C++学习笔记(6)

effective c++ 和 more effective c++中知识点 尽可能使用 const在 C++ 编程中,尽可能使用。 阅读详情
More Effective C++学习笔记6 学习并实践新的C++语言特性、模板特性、异常处理机制、转型、内存分配、标准模板库STL等等。 阅读详情

相关推荐

Effective C++ 学习笔记6

条款6:析构函数里对指针成员调用delete 添加一个指针成员的流程: 1.在构造函数中对指针进行初始化:对内存进行清0操作,然后通过赋值操作符分配新的内存(分配内存,或者赋值0); 2.析构函数里头delete指针(空指针也可以直接delete)。 如果在析构函数中没有删除指针,它不会表现出明显的症状,不断增长的内存泄露会最终侵蚀你的地址空间。

You can you up 539

Effective C++学习笔记6

本人学习C++不精,故重新学习,点滴记录与大家分享,不足之处还望大牛多多指教。 若不想使用编译器自动生成的函数,就该明确拒绝          其实本条款讲的比较简洁,由于条款5说明了“默认构造函数”、“拷贝构造函数”、“复制运算符”这三个虽然用户不自己定义,但是用到的时候编译器还是会为它们生成代码,所以就导致了一些情况下, 用户不想提供拷贝构造函数,但是编译器默认生成了,解决这类问题主要

奋斗中的苦逼2B程序员 203

effective modern c++学习笔记p5-6

解决方法可以通过在右边使用显示的强制类型转换如static_cast来让auto决定是什么类型,另外使用显式类型转换也可以让看代码的程序员发现我们做的操作。通过使用auto可以提升效率,降低复杂性,比如对于iterator_traits<IT>::value_type这里看上去很复杂的类型一个auto就可以推导出来;使用了auto可以避免未初始化就使用的错误,因为auto和decltype的不同是他的型别推导必须有初始化。条款6:使用auto会出错的情况。条款5:使用auto的必要性。

m0_57222081的博客 113

More Effective C++学习笔记6)-杂项

主题 概要 C++ More Effective C++ 杂项 编辑 时间 新建 20170123 序号 参考资料 1 More effective C++ Item M32:在未来时态下开发程序这个条款说的应该是怎么做到设计出一种能够尽量适应未来需求的软件。 未来时态的考虑只是简单地增加了一些额外约束: 1)、提供完备的类,即使

shaozhenged的专栏 498

More Effective C++学习笔记-条款5|6

谨慎定义类型转换函数有两种类型函数允许编译器进行这些转换:单参构造函数和隐试类型转换运算符。 例如:class Name { public: Name(const string &name){}; //string转换到Name ... };//有理数类 class Rational { public: //转换int到有理数类 Rational(int numer

柠檬柠檬C的博客 321

《Modern Effective C++学习笔记6 lambda表达式

条款三十一:避免默认捕获模式 捕获只能针对与在创建lambda表达式的作用域内可见的非静态局部变量(包括形参),然而实测发现静态局部变量也是可以捕获的。 默认按引用捕获模式的缺陷: lambda表达式的生存周期可能会大于默认捕获的局部变量或形参的生存周期,导致无效引用,而显式列出捕获对象可以起到提醒声明周期的作用,降低出错概率; 默认按值捕获模式的缺陷: 捕获裸指针时获得的只是一个裸指针副本,其他地方可能会delete这个指针,比如this指针; 按值捕获只能获得捕获当

slxixiha的博客 204

Effective C++ 学习笔记6 资源管理

为了防止资源泄漏,请使用RAII对象,它们在构造函数中获得资源并在析构函数中释放资源; 两个常被使用的RAII classes分别是tr1::shared_ptr和auto_ptr,前者通常是较佳选择,因为copy行为比较直观。若选择auto_ptr,复制动作会使它指向null; 复制RAII对象必须一并复制它所管理的资源,所以资源的copying行为决定RAII对象的copying行为; 普遍...

Linhom_281的博客 241

Effective c++学习笔记——条款6,不想自动生成函数,要明确拒绝

Explicitly disallow the use of complier-generated functions you do not want         上一条款我们已经知道,编译器会自动给我生成一些函数,那么当我们不希望class产生提供的方法,只要不声明对应函

xiexievv的专栏 640

Effective C++ 第三版-学习笔记

Effective C++个人的阅读整理导读部分关键字explicit 导读部分 关键字explicit explicit为显示构造说明符(仅C++)。用来控制不必要的隐式类型转换,目前我只知道explicit用于类声明的构造函数声明中。 举个栗子: class A { public: A(); A(int); A(const char*, int = 0); }; 以下...

freeroo2的博客 309

Effective C++ 阅读笔记之Chapter6

前言 大家好,我是雨墨,我深知好记性不如烂笔头的道理,所以在阅读的时候都尽量写读书笔记,方便日后复习,当然笔记并不能代替书籍上的内容。希望我的笔记也能帮助到大家,如果我的笔记有什么问题,欢迎大家给小老弟纠错~ 条款三十二总结 public 继承就是 is-a !!! 适用于 base class 身上的每件事情也一定适用于 derived class ,因此在设计 public 继承的时候一定要考虑这一点,多想想企鹅和鸟、矩形和正方形之间的关系。 条款三十三总结 注意:在 public 继承下掩盖名称违背了

qq_51387669的博客 324

Effective C++ 学习笔记

C++程序员分为两种,一种是读过Effective C++的,一种是没读过。这本《Effective C++》 能够协助成为高效的C++开发者。简直是C++开发者的分水岭。 必须细读多遍。 本人小硕菜鸡一枚,非科班,准备今年7月从事C++开发者,修炼内功,一天学习一个effective C++条款。欢迎大佬指导讨论。 fighting!

Ref.Ptr.的博客 3846

Effective C++ 学习笔记

无端的将所有的classes的析构函数声明为virtual,就像从未声明他们为virtual一样,都是错误的。定义一个语义约束指定一个不被改动的对象,编译器会强制实施这项措施,你可以在class外部修饰 gloabl或者namespace 作用域中的常量,或者修饰文件,函数,或者区作用域中被生命为static的对象。编译器可以暗自为class 创建默认的构造函数,copy构造函数,copy assignment操作符,以及析构函数。如果出现*两边 则表示被指物和指针两者都是常量。

乐褀的博客 1238

Effective c++学习笔记

Effective c++学习笔记第1章 让自己习惯C++01 视c++为一个语言联邦02 尽量以const、enum、inline替换#define03 尽可能使用const04 确定对象被使用前已先被初始化第2章 构造、析构、赋值运算05 了解C++默默编写并调用哪些函数06 若不想使用编译器自动生成函数,就该明确拒绝07 为多态基类声明virtual析构函数08 别让异常逃离析构函数功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列

沟沟沟的博客 1029

Effective C++学习笔记——条款27

Effective C++学习笔记——条款27:尽量少做转型动作

继续激情,继续奋斗。 1769

Effective C++学习笔记——条款32

Effective C++学习笔记——条款32:确定你的public继承塑模出is-a关系

继续激情,继续奋斗。 1679
上一篇: Effective C++学习笔记(5)
下一篇: Effective C++学习笔记(7)
ChaoticLife
博客等级 码龄19年 15粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值