相关推荐
深入掌握Effective C++与More Effective C++核心实践
如果基类析构函数不是虚的,通过基类指针删除派生类对象只会调用基类析构:delete ptr;// 仅调用 Base::~Base(),Derived 部分未清理 → 泄漏!因此,只要类可能被继承,析构函数就必须是虚的。虽然有轻微性能成本,但相比资源泄漏,这点代价完全可以接受。
More Effective C++ 学习笔记(1)
基础议题 检索:pointers、references、casts(类型转换)、arrays(数组)、constructors(构造函数) 条款1:仔细区别pointers和references references(*)和pointers(->)的差异? 没有 null references 【也就是一个引用必须总代表一个对象】 //示例:使用引用指向空指针【非法操作】 char* pc = 0; //空指针 char& rc = *pc; //引用代表...
C++编程实践指南:More Effective C++ 与 Effective C++
htmltable {th, td {th {pre {简介:Scott Meyers的《More Effective C++》和《Effective C++》是C++编程的宝贵资源,提供了大量的实用建议和最佳实践。书中探讨了构造函数与析构函数的正确使用、运算符重载、常量与引用的管理、模板的深入应用、异常安全编程、STL的高效使用、多态性与继承的关系、内联函数与虚函数的性能考量、命名空间的应用以及设计模式的实践。
More Effective c++ 学习笔记(Unit 1)
ITEM M1:指针与引用的区别 何时使用指针:1、可以存在不指向任何对象的情况(此时指针可设置成null) 2、需要在不同的时刻指向不同的对象(可以改变指针的指向) 何时使用引用:总是指向一个对象且一旦指向这个对象后就不可改变 注:引用占不占内存?C++标准并未规定,具体由编译器优化不优化来决定。 ITEM M2:尽量使用C++风...
More Effective C++学习笔记(1)-基础议题
主题 概要 C++ More Effective C++ 基础议题 编辑 时间 新建 20170106 序号 参考资料 1 More effective C++ Item M1:指针与引用的区别指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢? 首先,要认识到在任何情况下都不能使用指向空值的引用
More Effective C++学习笔记-条款1|2|3|4
指针和引用的区别主要包括: 任何情况下都不能使用指向空值的引用,这也就意味着使用引用的代码效率会比使用指针高,因为在使用之前不需要测试合法性。 引用总是指向初始化时被指定的对象,而指针可以重新赋值。 当重载某个运算符的时候,应该使用引用,比如operator[]。 vector<int> vec(10); //建立大小为10的向量 vec[5] = 10; //使用引用的方式 *vec[5]
More Effective C++35个改善编程与设计的有效方法笔记
Scott Meyers大师Effective三部曲:Effective C++、More Effective C++、Effective STL,这三本书出版已很多年,后来又出版了Effective Modern C++。 Effective C++的笔记见:https://blog.csdn.net/fengbingchun/article/details/102761542 Effect...
Effective & More Effective C++总结
一、说明。1、E指的是《Effective C++ 第二版》2、M指的是《More Effective C++ 第二版》二、总结1、如果需要定制自己的operator new(通常是在需要分配大量的小对象,而且对性能要求特别敏感的程序里),具体的使用准则请参看 E7/E8/E9/E10。 (1)、全局的operator new 在里定义,可以通过::operator
More Effective C++学习笔记
条款1 指针与引用的区别 条款2 尽量使用C++风格的类型转换 条款3 不要对数组使用多态 条款4 避免无用的缺省构造函数 条款5 谨慎定义类型转换函数 条款6 自增(increment)、自减(decrement)操作符前缀形式与后缀形式的区别 条款7 不要重载“&&”,“||”, 或“,” 条款8 理解各种不同含义的new和delete 条款9 使用析构函数防止资源泄漏 条款10 在构造函数中防止资源泄漏 条款11 禁止异常信息(exceptions)传递到析构函数外 条款12 理解“抛出一个异常”与“
More Effective C++:基础议题
指针定义:指针是一个变量,它存储的是另一个变量的内存地址。语法:通过*操作符来定义,并且可以通过->操作符来访问成员。灵活性:指针可以在任何时候被重新赋值,以指向不同的对象。空值:指针可以被设置为nullptr(或NULL/0),表示它不指向任何有效的对象。检查:在使用指针之前通常需要检查它是否为nullptr,以避免潜在的运行时错误。初始化:指针可以不初始化就声明,但这通常是不安全的做法。用途:当程序逻辑允许一个变量在某些情况下不指向任何东西,或者需要改变指向的对象时,使用指针是合适的。
几种特殊性质的类--《Effective C++》《More Effective C++》笔记
0 C++的灵活性C++语言实在是太灵活了,所以《Effective C++》提议把它看做四门语言的集合。其复杂的语法可以让程序员实现任意意图,同时由于过于复杂而导致正确表达的难度很大。本文总结实用的一些表达方式。1 对象的创建、初始化、删除方式C++对象创建方式有两种:在stack或data区上自动创建;在Heap上手动创建。当直接声明一个对象时,就采用第一种自动创建的方式,编译器为其自动开辟内
More Effective C++
Scott Meyers大师Effective三部曲:Effective C++、More Effective C++、Effective STL。 1. 指针与引用的区别 相同点:指针和引用都是让你间接引用其它对象。 不同点: 1.在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。在C++里,引用应被初始化。 不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针的要高。因为在使用引用之前不需要测试它的合法性。 2.指针与引用的另一个重要的不同是指针可以被重新赋值以指向
《Effective C++》与《More Effective C++》笔记总结
《Effective C++》及《More Effective C++》笔记总结
《More Effective C++》 笔记
条款1: 仔细区分 pointers 和 references pointers 是一个变量,其本身存放实际内容的地址 references 是一个引用,其就是实际内容的别名 两者都支持多态但是还是有一定区别的 pointer 在进行创建的时,不一定要立即给定一个准确值,虽然发生这种情况时,通常会赋予一个 null,来区别当前指针未进行初始化,杜绝由此产生的野指针,而 pointer 也是可以进行...
610


&spm=1001.2101.3001.11974&articleId=3927440&d=1&t=3&u=068b24e8ff584bc2adc42609d846759d)

被折叠的 条评论
为什么被折叠?



