Effective C++

effective c++ 和 more effective c++中知识点 尽可能使用 const在 C++ 编程中,尽可能使用。 阅读详情

条款1:尽量用const和inline而不用#define
条款2:尽量用<iostream>而不用<stdio.h>
条款3:尽量用new和delete而不用malloc和free
条款4:尽量使用c++风格的注释
条款5:对应的new和delete要采用相同的形式
条款6:析构函数里对指针成员调用delete
条款7:预先准备好内存不够的情况
条款8:   写operator new和operator delete时要遵循常规
条款9:   避免隐藏标准形式的new
条款10: 如果写了operator new就要同时写operator delete
条款11: 为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符
条款12: 尽量使用初始化而不要在构造函数里赋值
条款13: 初始化列表中成员列出的顺序和它们在类中声明的顺序相同
条款14: 确定基类有虚析构函数
条款15: 让operator=返回*this的引用
条款16: 在operator=中对所有数据成员赋值
条款17: 在operator=中检查给自己赋值的情况
条款18: 争取使类的接口完整并且最小
条款19: 分清成员函数,非成员函数和友元函数
条款20: 避免public接口出现数据成员
条款21: 尽可能使用const
条款22: 尽量用“传引用”而不用“传值”
条款23: 必须返回一个对象时不要试图返回一个引用
条款24: 在函数重载和设定参数缺省值间慎重选择
条款25: 避免对指针和数字类型重载
条款26: 当心潜在的二义性
条款27: 如果不想使用隐式生成的函数就要显式地禁止它
条款28: 划分全局名字空间
条款29: 避免返回内部数据的句柄
条款30: 避免这样的成员函数:其返回值是指向成员的非const指针或引用,
               但成员的访问级比这个函数要低
条款31: 千万不要返回局部对象的引用,也不要返回函数内部用new初始化
               的指针的引用
条款32: 尽可能地推迟变量的定义
条款33: 明智地使用内联
条款34: 将文件间的编译依赖性降至最低
条款35: 使公有继承体现 "是一个" 的含义
条款36: 区分接口继承和实现继承
条款37: 决不要重新定义继承而来的非虚函数
条款38: 决不要重新定义继承而来的缺省参数值
条款39: 避免 "向下转换" 继承层次
条款40: 通过分层来体现 "有一个" 或 "用...来实现"
条款41: 区分继承和模板
条款42: 明智地使用私有继承
条款43: 明智地使用多继承
条款44: 说你想说的;理解你所说的
条款45: 弄清C++在幕后为你所写、所调用的函数
条款46: 宁可编译和链接时出错,也不要运行时出错
条款47: 确保非局部静态对象在使用前被初始化
条款48: 重视编译器警告
条款49: 熟悉标准库
条款50: 提高对C++的认识

 

[Effective modern cpp]现代c++区别 读书笔记创建对象时使用()和{}的区别空指针优先选用nullptr,而非0或null 创建对象时使用()和{}的区别 1、大括号可以指定容器的初始内容&amp;gt;。 std::vector&amp;lt;int&amp;gt; v{1,3,5} 2、大括号可以用来为非静态成员指定默认初始化值,也可以用’='的初始化语法,不能用()。 class Widget{ ... private: int x{0};/... 阅读详情

相关推荐

Effective C++ 总结

当变量定义出现时,程序需要承受其构造成本;当变量离开其作用域时,程序需要承受其析构成本。因此,避免不必要的变量定义,以及延后变量定义式直到你确实需要它。// 效率低// 效率高Widget w;i < n;++i) {w = 取决于 i 的某个值;...这种做法产生的开销:1 个构造函数 + 1 个析构函数 + n 个赋值操作i < n;++i) {Widget w(取决于 i 的某个值);...这种做法产生的开销:n 个构造函数 + n 个析构函数。

qq_31978997的博客 370

【C++】基础:Effective C++高效编程建议

Effective C++——改变程序与设计的55个具体做法。

DevFrank的博客 1999

Effective C++中文版第三版(高清pdf扫描版)

在国际上﹐本书所引起的反响﹐波及整个计算技术出版领域﹐余音至今未绝。几乎在所有C++书籍的推荐名单上﹐本书都会位于前三名。作者高超的技术把握力、独特的视角﹑诙谐轻松的写作风格﹑独具匠心的内容组织﹐都受到极大的推崇和仿效。这种奇特的现象﹐只能解释为人们对这本书衷心的赞美和推崇。 这本书不是读完一遍就可以束之高阁的快餐读物,也不是用以解决手边问题的参考手册,而是需要您去反复阅读体会的,C++是真正程序员的语言,背后有着精深的思想与无与伦比的表达能力,这使得它具有类似宗教般的魅力。希望这本书能够帮助您跨越C++的重重险阻,领略高处才有的壮美风光,做一个成功而快乐的C++程序员。

Effective C++阅读笔记(一)

文章目录01:C++是一个语言联邦02:尽量使用const、enum、inline替换#define03:尽可能使用constconst用法const成员函数在const 和 non-const 成员函数中避免重复04:确定对象被使用前先被初始化 01:C++是一个语言联邦 可以将C++视为四种主要的此语言: C语言 Objedct-Oriented C++:继承,封装,堕胎,虚函数(动态绑定) Template C++:泛型编程 STL:容器、迭代器、算法、函数对象进行规约与协调 守则依据使用C+

Cross_Entropy的博客 407

【FPGA】Verilog代码实现温湿度传感器DHT11

#今天也是咸鱼的一天~ 因为参加Robei 杯 是要做一个机器人,先不说这个机器人具体怎么机器法,但是和外界互通的传感器肯定少不了,通过获取外界环境数据,进行处理,然后做出各种各样的功能。 先来讲个简单的模块,温湿度传感器DHT11。 DHT11介绍 DHT11是一款价格便宜,易于使用的温度湿度测量二合一传感器。它具有超小体积、极低功耗的特点。它使用单根总线与单片机进行双向的串行数据传输,信号传...

Ninquelote的博客 9163

3 种 VLA 模型动作表示方案对比:RT-2 离散化 vs π0 流匹配 vs HybridVLA 混合架构

本文深入对比了三种VLA模型动作表示方案:RT-2离散化、π0流匹配和HybridVLA混合架构。分析了各自的技术原理、优势与局限性,并提供了应用场景选择指南,帮助研究者在具身智能领域做出更优的技术选型决策。

weixin_29031161的博客 320

【Effective C++】

Effective C++

lyk82698的博客 3924

RustDesk网页端远程控制实战:如何用Web Client替代传统客户端(附安全配置建议)

本文详细介绍了RustDesk网页端远程控制的实战应用,包括其核心优势、配置流程及安全加固方案。通过Web Client替代传统客户端,用户可实现跨平台无缝体验和企业级管理效率,特别适合临时协作和移动设备使用。文章还提供了JWT身份验证、LDAP集成等安全配置建议,确保网页端访问的安全性。

weixin_30836759的博客 254

EFFECTIVE C++ (万字详解)(一)

前言: effective C++ 是一本经典之作,其翻译较为贴合原著,但读起来未免有些僵硬而让人摸不着头脑,所以,我会以更为贴近中国人的理解,对此书进行一些阐释。 条款01:把 C++ 看成一个语言联邦 C++由几个重要的次语言构成 C语言:区块,语句,预处理器,数组,指针等等。 类:class,封装,继承,多态......(动态绑定等等) 模板:涉及泛型编程,内置数种可供套用的函数或者类。 STL:STL是个模板库,主要涉及容器,算法和迭代器 在不同情况下使用适合的部分,可以使 C++

qq_62674741的博客 1万+

PTGui使用教程

PTGui使用教程为啥使用ptgui开始使用ptgui 为啥使用ptgui ptgui是一个全景拼接软件,在海思hi3559上做视频拼接的时候,需要拼接参数,这是就需要使用到ptgui,这里可以在该网站下下载ptgui:下载地址 开始使用ptgui 第一步,加载图片,我这里添加了三幅图 然后添加控制点(可以先多对准几次图像,这样会自动生成一些控制点,但是不保证准确),建议控制点不要太密集 点开镜头设置,勾选以下几个选项以及配置好镜头类型,如下图 点开优化器,在高级界面中配置如下参数,最后点

what_wrong的博客 1万+

OneNET物模型实战:如何用NB-IOT模块上传JSON数据并解析

本文详细介绍了如何利用NB-IOT模块将传感器数据上传至中国移动OneNET物联网平台,并利用其物模型功能实现JSON数据的自动解析。文章从理解OneNET物模型与OneJson协议入手,逐步讲解了平台侧物模型创建、设备注册,以及设备端数据构造、HEX编码与NB-IOT模块AT指令上报的全流程,并提供了关键的调试技巧与常见问题排查方法,为物联网开发者提供了完整的实战指南。

sugar的博客 681

Effective Modern C++英文版及中文翻译

https://pan.baidu.com/s/1uqEBGHn3dcVON18oRK5LNQ 提取码:gqqv 中文版不用看了,译者估计自己都不怎么用c++11\14,翻译的巨垃圾。

Betterc5的博客 1818

基于 Python + Flask + Echarts 的疫情监控系统

基于 Python + Flask + Echarts 的疫情监控系统

743

Effective-Modern-Cpp 项目常见问题解决方案

Effective-Modern-Cpp 项目常见问题解决方案 项目基础介绍 Effective-Modern-Cpp 是一个开源项目,旨在提供 C++11 及其之后标准的最佳实践。该项目适合希望快速入门现代 C++ 的开发者,特别是那些已经掌握 C++ 基础语法和 C++98 最佳实践的开发者。项目主要使用 C++ 编程语言,包含了一系列关于现代 C++ 编程的最佳实践和技巧。 主要编程语言 ...

gitblog_00864的博客 444

FM20S用户手册--Linux系统启动卡制作及系统固化

评估板出厂时,默认提供一张配套的Micro SD卡,此卡为可正常使用的Linux系统 启动卡。评估板断电,将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将 启动方式选择拨码开关拨为1010(1-4).此档位为Micro SD启动模式。使用Linux 系统启动卡启动系统时,将使用此目录的BOOTbn文件启动FSBL和U-Boot。Linux系统启动卡制作时,已将固化系统的脚本文件mkemmcboot.sh拷贝至Linux系 统启动卡文件系统的"/opt/tools/"目录下。

创龙,嵌入式一体化解决方案商 302

097、Zephyr RTOS驱动开发实战:传感器驱动(陀螺仪)

I2C速率别设太高:LSM6DSO支持最高400kHz,但实际布线有寄生电容时,400kHz容易出错。工业产品我统一用100kHz,稳定压倒一切。FIFO水印值要计算:假设ODR=6.66kHz,每150us产生一组数据,如果水印设32组,则每4.8ms触发一次中断。这个间隔要大于I2C读取耗时(实测约200us),否则中断堆积。电源纹波敏感:陀螺仪对电源噪声敏感,特别是3.3V供电时。我遇到过因为DC-DC纹波太大,陀螺仪输出噪声从0.1dps飙升到2dps。

m0_50546716的博客 118

Effective-Modern-CPP 开源项目指南

Effective-Modern-CPP 开源项目指南 项目概述 本指南旨在帮助开发者快速理解和上手 Effective-Modern-C++ 这一开源项目。该项目基于Scott Meyers的同名书籍《Effective Modern C++》,旨在通过代码示例展示C++11及以后版本中的现代编程实践和技术。 1. 项目目录结构及介绍 ├── README.md # 项目说明文件,包...

gitblog_00774的博客 472

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

effective modern cpp

中文网页版 https://github.com/kelthuzadx/EffectiveModernCppChinese https://www.kancloud.cn/kangdandan/book/169968

janeqi1987的专栏 494

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【Cpp】《Effective C++》第一章-让自己习惯C++

  这是我在学习《Effective C++》中总结得出的心得与体会,完全是以我自己的理解所作的笔记,是对个人经验的积累。基于第三版我以每个章节进行总结,全书一共九个章节。 第一章-让自己习惯C++ 条款01:视C++为一个语言联邦   View C++ as a federation of languages.   在初期Cpp被开发之初,Cpp并没有如今这样丰富的功能,它更应该被称为仅是一个带...

qq_41669298的博客 341

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Effective C++ 学习笔记

C++程序员分为两种,一种是读过Effective C++的,一种是没读过。这本《Effective C++》 能够协助成为高效的C++开发者。简直是C++开发者的分水岭。 必须细读多遍。 本人小硕菜鸡一枚,非科班,准备今年7月从事C++开发者,修炼内功,一天学习一个effective C++条款。欢迎大佬指导讨论。 fighting!

Ref.Ptr.的博客 3869

Effective & More Effective C++总结

 一、说明。1、E指的是《Effective C++ 第二版》2、M指的是《More Effective C++ 第二版》二、总结1、如果需要定制自己的operator new(通常是在需要分配大量的小对象,而且对性能要求特别敏感的程序里),具体的使用准则请参看 E7/E8/E9/E10。     (1)、全局的operator new 在里定义,可以通过::operator

jimmy_cheung_jc的专栏 765

再读effective c++

现在所说effective C++的系列历史,最开始Meyers出版的是effective C++第一版,然后有了more effective C++,然后是effective C++的第二版,接着是effective C++的第三版,最后是最新的 effective modern C++。effective modern C++里主要讲C++ 11的现代编程语言特性,包括类型推导,移动语义,右值

zhouguoqionghai的博客 3239

Effective C++与More Effective C++全书签中英文版本

Effective C++与More Effective C++全书签中英文版本 去发现同类优质开源项目:https://gitcode.com/ 简介 本仓库提供了C++程序员必备的进阶学习资料——《Effective C++》和《More Effective C++》的中英文对照版本。压缩包内共计四本书籍,其中《Effective C++》中文版为高清影印版,其余三本均为文字版本,保证清晰度,...

gitblog_06722的博客 352

《effective C++》阅读笔记

《effective C++》阅读笔记

subtitle_的博客 1047

Effective C++和More Effective C++

More Effective C++读书笔记 条款1:指针与引用的区别 二者之间的区别是:在任何情况下都不能用指向空值的引用,而指针则可以;指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指定的对象,以后不能改变 在以下情况下使用指针:一是存在不指向任何对象的可能性;二是需要能够在不同的时刻指向不同的对象 在以下情况使用引用:总是指向

clam_clam的专栏 6972

Effective Cpp 条例解析

Effective 条例解析Effective 条例解析 一 让自己习惯C 1 视C为一个语言联邦 2 尽量以constenuminline 替换define 3 尽可能使用const 4 确保对象在使用前已经被初始化 二构造析构赋值运算 1 了解C默默编写并调用哪些函数 2 如果不想使用编译器提供的函数应当明确拒绝 3 为多态基类声明virtual析构函数 4 别让异常逃离析构函数 5 绝不在构造

李兰溪的专栏 1012
上一篇: 深入探讨C++对象模型 之 站在对象模型的尖端
下一篇: OOD启示录
C_plus_learner
博客等级 码龄22年 0粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值