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
酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...
随机推荐
- 前端速成之路——html、css
项目一知识点 单表视图列表 标题标签 <h1>用户注册</h1> 分割线与换行 <hr> <br> 表单提交 get:通过浏览器地址栏传递值 post: ...
- VS2019 webApi(.net core2.2版本)上传到Gitee
一.本地创建项目 创建本地项目,依次点击下一步,在选择"目标框架"时选择2.2, 二.配置swagger 1.添加依赖项 2.修改Startup.cs public void Co ...
- 『Plotly实战指南』--交互功能进阶篇
在数据可视化的世界中,交互性是提升用户体验和数据探索效率的关键.从简单的悬停提示到复杂的动态数据更新,交互功能让静态图表变得生动起来. 本文将介绍Plotly的高级交互功能,包括点击事件处理.动态数据 ...
- CentOS 7怎么开放端口
转自:https://www.jb51.net/os/Ubuntu/617627.html 以开放8080端口为例,其他类似 centos7已经开始使用firewall作为防火墙,而不是iptable ...
- Linux之删除命令
一.格式 只能删除文件夹 rmdir 文件名 删除文件 rm 是强大的删除命令,它可以 永久性地 删除文件系统中指定的文件或目录. 在使用 rm 命令删除文件或目录时,系统不会产生任何提示信息.此命令 ...
- dashboard部署
1.下载dashboard资源请单 wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/re ...
- C#程序的内存缓存
C#程序可以使用IMemoryCache.IMemoryCache是.NET Core中内置的一个轻量级缓存实现,可以用于在内存中缓存数据,以提高应用程序的性能和响应速度.它支持通过键值对的方式缓存数 ...
- VcXsrv鼠标不显示问题解决方法
问题描述 在windows10上通过WSL2安装了ubuntu22.04的系统,在通过VcXsrv使用界面显示的时候,显示界面不显示鼠标指针. 我是通过步骤四直接解决的. 解决方法 1. 检查VcXs ...
- windows系统部署minio
下载 在官网下载exe https://dl.min.io/server/minio/release/windows-amd64/ 创建文件夹 把minio.exe放到一个文件夹里,然后同目录里再新建 ...
- java RSA公私钥生成工具类
package cn.daenx.my.util; import java.security.*; import java.security.spec.PKCS8EncodedKeySpec; imp ...