《Effective C++》读书笔记

2023-11-03

《Effective C++》的目录方便回顾。
1.视c为一个语言联邦
2.尽量以constenuminline替换-define
3.尽可能使用const
4.确认对象被使用前已先被初始化
5.了解c默默编写并调用了哪些函数
6.若不想使用编译器自动生成的函数就该明确拒绝
7.为多态基类声明virtual析构函数
8.别让异常逃离析构函数
9.绝不在构造和析构过程中调用virtual函数
10.令operator-返回一个reference-to-this
11.在operator-中处理自我赋值
12.复制对象时务忘其每一个成分
13.以对象管理资源
14.在资源管理类小心copy行为
15.在资源管理类中提供对原始资源的访问
16.成对使用new和delete要采用相同的格式
17.以独立的语句将newd对象置入智能指针
18.让接口容易被正确使用不易被误用
19.设计class犹如设计type
20.宁以pass-by-refrence-to-const替换pass-by-value
21.必须返回对象时别妄想返回其reference
22.将成员变量申明为private
23.宁以non-membernon-friend替换member
24.若所有参数都需要类型转换请为此采用non-member函数
25.考虑写一个不抛出异常的swap函数
26.尽可能延后变量定义式出现的时间
27.尽量少做转型动作
28.避免返回handles指向对象内部成分
29.为异常安全而努力是值得的
30.透彻了解inline函数的里里外外
31.将文件的编译依存关系降到最低
32.确定你的public继承塑模出is-a模型
33.避免遮掩继承而来的名称
34.区分接口继承和实现继承
35.考虑virtual函数以外的其他选择
36.绝不重新定义继承而来的non-virtual函数
37.绝不重新定义继承而来的缺省参数值
38.通过复合塑模出has-a或者根据某物实现出
39.明智而审慎地使用private继承
40.明智而审慎地使用多重继承
41.了解隐式接口和编译期多态
42.了解typename的双重意义
43.学习处理模板化基类内的名称
44.将参数无关代码抽离template
45.运用成员函数模版接收所有兼容类型
46.需要类型转换时请为模版定义非成员函数
47.请使用traits-classes表现类型信息
48.认识模板元编程
49.了解new-handler的行为
50.了解new和delete的合理替换时机
51.编写符合常规的new和delete
52.写了placement-new也要写相应的placement-delete
53.不要轻忽编译器的警告
54.让自己熟悉包括tr1在内的标准程序库
55.让自己熟悉boost

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《Effective C++》读书笔记 的相关文章

随机推荐

  • C++中使用tuple

    本文讨论的是在C 11标准下使用tuple 而不是python语言 说到tuple 肯定会第一时间想到python语言 但tuple也不仅仅只在python中有 在C C 等语言中都有这样的数据结构 在C 中的tuple和python语言中
  • 解决VS无法识别手动创建的app.manifest文件的问题

    解决VS无法识别手动创建的app manifest文件的问题 解决方案 删除手动添加的app manifest文件 修改项目属性使项目自动添加app manifest文件 操作流程 1 选择当前项目 单击鼠标右键 选择 属性 2 在 属性
  • 语言小型心形图案代码_C语言写一个小程序,胖胖的爱心桃

    学了这么久的C语言 你是不是有很多会写的小玩意了呢 比如说简单的五角星 三角形 等腰三角形 心形之类的 笔者今天发现了个以前写的一个很好玩的小程序分享给大家 画心的C语言 include
  • python 对二维列表的排序

    例如 这样的列表 对它进行排序 第一种 使用lambda对列表中的数据进行排序 如果不懂lambda的可以去百度哦 有很多详细内容 按数字排序 mylist 张三 0 3 李四 0 4 王五 0 8 谢大脚 0 9 谢广坤 0 1 myli
  • edp和edt哪个好_香水edp和edt的区别

    在香水瓶子上 通常会看到edp和edt的标志 它们的具体区别如下 1 含义不同 E D P是Eau de Parfum的缩写 意思是淡香精 而E D T是Eau de Toilette的缩写 意思是淡香水 2 香精浓度不同 E D P的纯香
  • 以图搜图算法java_龙猫数据爬图新姿势:以图搜图

    如果说购物网站近两年有什么新变化 除了商品类别增多以外 以图搜图功能绝对算很重要的一个 看到自己喜欢的东西根本不用问具体信息 随手一拍马上就能在购物网站找同款 识别率相当高 真是方便又快捷 今天我们就来介绍下 这么好用的生产力工具是如何 进
  • Hiredis_API说明

    转 https blog csdn net xumaojun article details 51597468 同步的API接口 redisContext redisConnect const char ip int port void r
  • Qt信号与槽的Connect详解

    QT通过connect关联信号和槽函数 一 槽函数的执行是同步还是异步 在同一个线程中 Qt信号槽的执行是同步的 当一个信号被发射时 槽函数会立即被调用 而不是被放入事件队列中 这是因为在同一个线程中 事件循环和槽函数都是在同一个线程中执行
  • MySQL——索引

    文章目录 1 简介 2 索引的分类 2 1 主键索引 PRIMARy KEY 2 2 唯一索引 UNIQUE KEY 2 3 常规索引 KEY INDEX 2 4 全文索引 FullText 3 测试索引 3 1 创建100万条数据 3 2
  • 2013年8月27日星期一(DEMO7-19窗口的裁剪等)

    OK 现在马不停蹄 结束这个第7章 拖延的时间真长 有6个月了 汗 这个是上次的应用 加上逻辑判断如何画点 并用GetWindowRect 是客户区 实际上这不对 应该是GetClientRect 果然不对 只能是说把图画上了 代码如下 D
  • egret 学习笔记

    1 egret 的res模块新版不在引擎中
  • C#系列-函数

    一 方法 using System using System Collections Generic using System Linq using System Text using System Threading Tasks name
  • go中的线程的实现模型-P G M的调度

    线程实现模型 go中线程的实现是依靠 P G M M machine的缩写 一个M代表一个内核线程 或称 工作线程 P processor的缩写 一个P代表执行一个Go代码片段所需要的资源 或称 上下文环境 G goroutine的缩写 一
  • 安卓开发百度地图鉴权错误

    报错信息 E baidumapsdk Authentication Error 鉴权错误信息 sha1 package 52 C3 39 A9 18 FC C5 0D 55 EB EC A1 D9 EF F0 D2 F9 7D 12 AA
  • JAVA中String的常用方法

    String类在所有项目开发里面一定会用到 因此String类提供了一系列的功能操作方法 字符和字符串 String类与字符之间的转换 方法名称 类型 描述 public String char value 构造 将字符数组转换为Strin
  • 再临SpringBoot——同步异步、阻塞非阻塞、NIO与Reactor模式

    文章目录 同步 异步 阻塞 非阻塞 Proactor 与 Reactor 模式 Reactor Proactor NIO 同步 异步 阻塞 非阻塞 在高性能的I O设计中 有两个比较著名的模式Reactor和Proactor模式 其中Rea
  • python中pydantic库

    文章目录 pydantic库详解 一 概述 1 简介 2 优势 3 环境配置 二 Model 1 模型属性 2 基本使用 3 数据导入 3 1 orm 3 2 pickle 3 3 json 4 数据导出 三 验证器 1 类内添加 2 重用
  • C# 系统应用之清空回收站操作

    由于毕业设计项目是基于U盘防御的软件 所以涉及些系统应用的知识 本文主要讲述的是如何通过C 代码实现清空回收站的资源 主要通过SHEmptyRecycleBin函数实现 一 SHEmptyRecycleBin函数 SHEmptyRecycl
  • qmake 设置动态链接库的加载路径 rpath

    在项目的 pro文件中添加以下代码 注意位置尽量靠前 QMAKE LFLAGS Wl rpath ORIGIN QMAKE LFLAGS Wl rpath ORIGIN lib QMAKE LFLAGS Wl rpath ORIGIN li
  • 《Effective C++》读书笔记

    Effective C 的目录方便回顾 1 视c为一个语言联邦 2 尽量以constenuminline替换 define 3 尽可能使用const 4 确认对象被使用前已先被初始化 5 了解c默默编写并调用了哪些函数 6 若不想使用编译器