more exceptional c++简要笔记
1、流
尽量提高可读性,避免撰写精简代码
在c++中,有四种方法获得多态行为:虚函数、模板、重载和转换
2、predicates:状态带来的问题
3、可扩充的模板:使用继承还是traits?
4、typename
5、容器、指针和“不是容器的容器”
6、使用vector和deque
7、使用set和map
8、模板特殊化与重载
9、内联
10、内存增长分配策略比较
11、缓式拷贝
12、C++的构造函数模型:
构造函数正常返回,即控件抵达函数体的尾部或者执行了一个return语句。此情况下对象真实存在。
构造函数抛出异常后退出,这种情况下,对象不仅不会继续存在,而且实际上它根本就从未作为一个对象存在过。
13、决不允许异常从析构函数中抛出,写析构函数的时候,就像它已经有了一个throw()异常规范一样。
如果析构函数调用了一个可能会抛出异常的函数,一定要将这个调用包装在try/catch block中,以防止异常逃出析构函数。
14、未管理指针存在的问题
函数的参数:为表达式时可能会交叉求值,为函数时不会发生交叉求值
15、在各自独立的程序语句中执行每一个显式的资源分配,并将分配的资源立即交给管理者对象。
16、异常安全与类的设计:
拷贝赋值:
异常安全的规范形式:基本保证、强烈保证和不抛出异常的保证
继承:
Is-A:符合LSP原则(可替换原则):
如果对于类型s的每一个对象o1,都有类型T的一个对象o2,使得在“用类型t定义的所有程序p”中,o1替换o2后p的行为不变,那么s是t的一个子类型。
所有的公有继承都应该符合LSP原则。
is-a可以用别的方式实现,不局限于公有继承。
is-implemented-in-terms-of:
has-a或private继承来实现
17、所有的基类要么是虚拟公有成员,要么是非虚拟保护成员。
18、了解并使用设计模式
19、嵌套类和局部类
转载于:https://www.cnblogs.com/7cms-3xll/p/4106455.html
more exceptional c++简要笔记相关推荐
- 2022年最新《谷粒商城开发教程》:2 - vue 简要笔记
Java工程师的进阶之路 代码地址 1 - 构建工程篇 2 - vue 简要笔记 3 - 商品服务-API-三级分类 4 - 商品服务-API-品牌管理 5 - 商品服务-API-属性分组 目录 一. ...
- Exceptional C++ 读书笔记
Exceptional C++ 读书笔记 1 泛型程序设计与C++标准库(没看) Item 1 Iterator: 1)注意当前迭代器是否有效,如果无效则解引用产生程序错误: 2)注意当前迭代器生命 ...
- gromacs manual_GROMACS蛋白配体分子动力学模拟结果分析简要笔记
0. 引言 本文以前文(https://zhuanlan.zhihu.com/p/149862369)为基础,对蛋白配体复合物分子模拟体系的结果进行一系列的粗浅分析,本文记述了简要的分析方法. 1 M ...
- Linux device tree 简要笔记
第一.DTS简介 在嵌入式设备上,可能有不同的主板---它们之间差异表现在主板资源不尽相同,比如I2C.SPI.GPIO等接口定义有差别,或者是Timer不同,等等.于是这就产生了BSP的一 ...
- Exceptional C++读书笔记:编译器防火墙与Pimpl惯用法(一)
Exceptional C++第四章主要介绍如何降低编译期文件依赖性以及常用的Pimpl用法. 方法一:不要用#include指令包含一些不必要的头文件,因为这样会严重降低编译效率,增加编译时间. 如 ...
- 简要笔记-CNN网络
以下是CNN网络的简要介绍. 1 CNN的发展简述 CNN可以有效降低传统神经网络(全连接)的复杂性,常见的网络结构有LeNet.AlexNet.ZFNet.VGGNet.GoogleNet.ResN ...
- 深度学习发展简要笔记
来源:非正式组织 概要:在Yann LeCun.Yoshua Bengio和Geoffrey Hinton三巨头nature深度学习综述<deep learning>文章中提到,这段期间神 ...
- iOS数据存储简要笔记
1. 数据存储常用的方式(1)XML 属性列表(plist)归档 (2)preference(偏好设置) (3)NSKeyedArchiver归档(NSCoding) (4) SQLite3 ...
- CSS权威指南之css声明,伪类,文本处理--(简要笔记一)
1.css层叠的含义 后面的会覆盖前面的样式 2.每个元素生成一个框,也称盒. 3.替换元素和非替换元素. img如果不指定src的外部路径,该元素就没有意义.他由文档本身之外的一个图像文件来替换. ...
最新文章
- 算法面试的理想与现实
- elasticsearch api中的get操作
- 可逆素数编程c语言,巧用C语言求四位的可逆素数
- MySQL外键创建失败1005原因总结
- solr elasticsearch比较
- windows10和ubuntu16.04双系统下时间不对的问题
- 深入学习Redis(1):Redis内存模型
- php安装了openssl扩展,php如何安装openssl扩展?
- lua中table函数库
- java8彩蛋_随笔,JDK8的新时间工具类
- python itchat文档_python itchat简介
- NXP JN5169 烧录器原理图(FT232RL,不带按键)
- Java练习——删库跑路(定时器删除文件夹)
- 利用python实现对人物头发及衣服颜色的替换
- 企业增强型融合通讯解决方案Cnskype
- 前端小报-201809 月刊
- 特征选择(一)-维数问题与类内距离
- 微服务之spring Boot+MyBatis-Plus +mysql框架
- python设置时间过期改变状态_将Python程序设置为在特定天数后过期
- 【高项】项目的概念,项目管理基础与立项管理
热门文章
- matlab模拟地球,基于MATLAB的卫星绕地球模拟系统
- 如何使用parallelsdesktopMac虚拟机安装Win7
- P3444 [POI2006]ORK-Ploughing
- ios 获取电量百分比_怎么设置苹果11电池百分比(4 种方法,教你在 iPhone 11 上查看剩余电量百分比)...
- 获取网站流量的方法有哪些?
- 世界杯必赚计算器(c++)
- 微信支付AES解密工具类
- php简单语法题,PHP语法练习题
- 【python求一元三次方程】
- Git 服务器更换了IP的解决方法