Efficient C++ 阅读笔记
Efficient C++ 阅读笔记
技术要点:
- reference 永远没有成为NULL的机会 如果出现 那么请隔离那个写出这种代码的程序员
- 在写程序的时候为了系统的健壮性能,一定要测试 指针的可用性能 但是 reference 就可以不用测试.
{不指向任何对象: pointer
不同时间指向不同对象:pointer
总是会代表某个对象,永远不变心:reference }
- static_cast() 拥有着和传统
一样的表现形式 - const_cast 最常用的用途将某一个对象的常量性去除掉
- dynamic_cast 协助你巡航于继承体系之中
- reinterpret_cast 最常用的用途是转换"函数指针" 例如:有一个函数指针返回的是 void 想强制转换 一个函数指针返回 int
funcPtrArray[0] = reinterpret_cast(&doSomething);
不具有移植性
多态的具体实现方式:父类的指针指向子类- 不要用多态方式处理数组 因为子类的数组移动的大小和父类完全不一样
- 具体类不要继承自另一个具体类 不太能够上面的犯错
- 对定制的类型转换保持警觉,因为这样容易导致错误
解决方案之一 : 对double的重载转换为另一个函数取代类型转换操作符,asDouble 写一个这个函数
- explicit 解决隐士转换
之二: 代理技术 例如 先把一个int 转换为一个类 然后这个类就不可以隐式转换为另一个类
- 前置效率更高,因为没有创建临时变量,似乎后置的代码是以前置代码为基础的这样效率就差不多了
- 不要重载 && 和 || 因为无法保证"骤死式" 最好也不要重载 ,号操作符号
Efficient C++ 阅读笔记的更多相关文章
- [阅读笔记]Software optimization resources
http://www.agner.org/optimize/#manuals 阅读笔记Optimizing software in C++ 7. The efficiency of differe ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- Deep Learning of Graph Matching 阅读笔记
Deep Learning of Graph Matching 阅读笔记 CVPR2018的一篇文章,主要提出了一种利用深度神经网络实现端到端图匹配(Graph Matching)的方法. 该篇文章理 ...
- [置顶]
人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)
这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...
- 阅读笔记 1 火球 UML大战需求分析
伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本 <火球 UML大战需求分析>,首先 ...
- 《uml大战需求分析》阅读笔记05
<uml大战需求分析>阅读笔记05 这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这 ...
- <<UML大战需求分析>>阅读笔记(2)
<<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...
- uml大战需求分析阅读笔记01
<<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...
- Hadoop阅读笔记(七)——代理模式
关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...
- Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable
酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...
随机推荐
- Web前端入门第 34 问:CSS 常见布局
Web 网页中,所有元素都是盒模型构成的,一个大盒子套一个或者多个小盒子,再用更大的盒子把大盒子给圈起来,这就构成了基本的 HTML 结构,再利用 CSS 把盒子装修得好看一些,最后把它放在正确位置, ...
- 🚀 放弃 Oh-My-Posh,转而手搓 FastPrompt,打造快速高效的命令提示
「够用.够快.够自由」才是我心目中的终端提示符. 一个开发者的烦恼 每天打开 PowerShell,等待提示符加载完毕,我的内心就像在等待一个磨蹭的同事. 我用的是 Windows Terminal ...
- 【doctrine/orm】findBy用法
用法: //$condition array('表字段对应的entity的属性'=>'值') //$orderBy array('表字段'=>'ASC/DESC') //$count in ...
- Python3_python2打包exe文件
最近要把绿盟报告导出脚本打包成一个exe,原本是一个py2的文件Vulreport.py,我做了如下步骤. 1.py2topy3 Python3 2to3.py -w Vulreport.py 2.p ...
- PACS千万家,好看耐用第一家---基于JAVA开发的跨平台PACS系统
随着2011年成功上线全院级PACS,期间软件版本不断的更新和优化,也得到了不少HIS厂商及同行友商的支持,目前已有医院客户达到了300多家遍布全国各个省份,随着时间的推移,PACS老客户的数据量在不 ...
- Spring Boot 不能加载 tcnative-2.dll 库(Can't load library: tcnative-2.dll)
Spring Boot 不能加载 tcnative-2.dll 库 本文将介绍怎样解决 Spring Boot 在启动时抛出 "org.apache.tomcat.jni.LibraryNo ...
- 学习unigui【29】UniGUI的RBCA
web程序真是鸡鸣狗盗,零零碎碎. 学习类似SaaS的登录界面,补一大通web的基础知识. http://127.0.0.1:8077和http://127.0.0.1:8077/admin 这是登录 ...
- 仿EXCEL插件,智表ZCELL产品V1.9 版本发布,增加导入、导出EXCEL功能
详细请移步 智表(ZCELL)官网www.zcell.net 更新说明 这次更新主要应用户要求,主要增加了导入.导出EXCEL文件功能,并增加了获取单元格公式.显示值等功能,欢迎大家体验使用. 本次 ...
- Seata源码—4.全局事务拦截与开启事务处理
大纲 1.Seata Server的启动入口的源码 2.Seata Server的网络服务器启动的源码 3.全局事务拦截器的核心变量 4.全局事务拦截器的初始化源码 5.全局事务拦截器的AOP切面拦截 ...
- B1009 说反话
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小 ...