<More Effective C++>笔记--基础

Purify使用指南 1. 简介2. 安装2.1. 安装license2.2. 安装Purify3. 使用3.1. 查看帮助3.2. 使用步骤   ATTACH3.3. 查看BUG   ATTACH3.4. 定位BUG在源代码中的位置   ATTACH3.5. 查找泄漏的内存   ATTACH3.6. 修改BUG   ATTACH3.7. 隐藏消息   ATTACH4. 保存/载入结果4.1. 保存结果4.2. 载入结 阅读详情

1 基础
~~~~~~~

1.1 指针和引用区别
===================
   1. 指针可以指向空值,引用不能指向空值
   2. 指针定义时可以不初始化,引用定义时必须初始化
   3. 指针可以被重新赋值指向另一个对象,而引用在初始化时被指定的对象,以后不能改变,但它和本体的值会因赋值而改变
   4. 如果你需要重载一个操作符时,应该使用引用

1.2 尽量使用C++风格的类型转换
==============================
   1. const_cast不仅仅能转换掉const属性,还能转换掉volatileness属性
   2. reinterpret_cast最普遍的用途就是函数指针之间转换,但是该转换不一定可行

1.3 不要对对象数组使用多态,但可以对指向对象的指针数组使用多态
==============================================================
   1. 通过一个基类指针来删除一个含有派生类对象的数组,结果将是不确定的.

1.4 避免误用的缺省函数
=======================
   1. 没有缺省构造函数的类使用起来会有所限制
      * 无法建立数组(因为一般来说无法在建立对象数组时给构造函数传递参数),除非类中定义placement new方法,在自定义的new中调用构造函数
      * 无法在许多基于模板的容器类里使用(因为模板内部的实现往往是通过数组实现的)
   2. 提供无意义的缺省构造函数也会影响类的工作效率,因为需要是不是得测试对象是否正确地初始化。因此如果缺省构造函数无意义的话,尽量避免使用它们。

本文出自 “暗日” 博客,请务必保留此出处http://darksun.blog.51cto.com/3874064/1162475

DDR5内存设计实战:如何通过CA_ODT引脚优化信号完整性(附配置示例) 本文深入探讨DDR5内存设计中CA_ODT引脚的配置与优化策略,通过Group A/Group B分组控制提升信号完整性。详细解析了ODT机制、PCB布局要点及寄存器配置方法,并附实战案例与配置示例,帮助工程师解决高速信号传输中的反射问题,确保DDR5系统稳定运行。 阅读详情

相关推荐

信贷风控分析—征信数据源

详解企业和个人征信报告,以及信贷风控之指标构造案例参考

csdnbt的博客 3639

<More Effective C++>笔记--技巧

4 技巧 ~~~~~~~ 4.1 如何将构造函数和非成员函数虚拟化 =====================================    1. 虚拟构造函数是指能够根据输入给它的数据的不同而建立不同类型的对象的成员函数(不是构造函数!!).    2. 虚拟拷贝构造函数返回一个指针,指向调用该函数的对象的新拷贝.因此其名字通常为clone()    3. 被派生类重

暗日 333

企业级智能问数开发的核心痛点与技术聚焦

本文介绍了企业级智能问数系统开发的三大核心问题和解决方案:语义解析不精准、SQL生成不健壮、企业适配难落地。文章从开发者视角出发,详细拆解了NLU语义解析、SQL生成、对话记忆、企业级适配四大核心模块的技术实现。 在技术选型方面,推荐了LangChain+DeepSeek-R1、FAISS/Milvus、SQLAlchemy等工具链组合。针对企业级需求,重点讲解了: 语义解析模块的意图识别优化和要素提取技术 SQL生成模块的语法校验与性能优化方案 对话记忆模块的Redis存储实现 企业级适配的三层防护体系和

lamehsl的专栏 1047

<More Effective C++>笔记--其他杂项

5 其他杂项 ~~~~~~~~~~~ 5.1 在未来时态下开发程序 =========================    1. 用C++语言自己来表达设计上的约束条件,而不是用注释或文档    2. 未来时态的考虑不是问一个类现在正被怎么使用,而是问这个类是被设计为怎么去使用的.    3. 未来时态的考虑只是简单地增加了一些额外约束:       * 提供完备的类,即

暗日 406

医疗领域BGE-M3模型微调全流程:从数据准备到效果评估

本文详细介绍了医疗领域BGE-M3模型的微调全流程,从数据准备到效果评估。通过医疗数据微调,BGE-M3模型在临床问答、病历检索等场景中表现显著提升,能够准确理解医学术语之间的细微差别。文章还提供了实战练习代码和效果评估指标,帮助开发者快速掌握医疗文本嵌入模型的应用技巧。

weixin_29098367的博客 282

SpringBoot3 + OAuth2.1实战:5分钟搞定授权码模式(含完整代码)

本文详细介绍了如何在SpringBoot3环境中快速实现OAuth2.1的授权码模式,包括环境配置、核心安全实现及完整代码示例。通过Spring Security集成,开发者可以高效构建企业级安全认证系统,解决版本兼容性问题,提升开发效率。

weixin_29216353的博客 141

<More Effective C++>笔记--异常

3 异常 ~~~~~~~ 3.1 防止构造函数在存在异常时发生资源泄露 =========================================    1. 如果你用对应的auto_ptr对象替代指针成员变量,就可以防止构造函数在存在异常时发生资源泄漏,你也不用手工在析构函数中释放资源,并且你还能象以前使用非const指针一样使用const指针,给其赋值。 3.2

暗日 389

固定时间收敛的控制器设计(基础知识)

针对控制系统的有限时间收敛和固定时间收敛给出一些常用定理。

qq_40241332的博客 1万+

<More Effective C++>笔记--运算符

2 运算符 ~~~~~~~~~ 2.1 谨慎定义类型转换函数 =========================    1. 有两种函数允许编译器进行隐式类型转换:       * 单参数构造函数(包括除了第一个参数,所有参数都有缺省值得情况)       * 隐式类型转换运算符         隐式类型转换运算符只是一个样子奇怪的成员函数:operator 关键字,其后跟一

暗日 337

Python量化交易实战:pytdx库高效获取通达信分笔成交数据

本文详细介绍了如何使用Python的pytdx库高效获取通达信分笔成交数据,为量化交易提供关键市场微观结构分析。通过环境搭建、服务器连接、数据获取与清洗的完整流程,帮助开发者快速掌握这一免费高质量数据源,并实现分笔数据的实战分析与应用。

weixin_29061509的博客 1351

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

2025华为OD 面试手撕代码真题【字符串至多删除一个字符,是否能构成回文串】

MISAYAONE的博客 1707

在类的头文件里尽量少引入其它头文件 <<Effective Objective-C>>

与C 和C++ 一样,Objective-C 也使用“头文件”(header file) 与“实现文件”(implementation file)来区隔代码。用Objective-C 语言编写“类”(class)的标准方式为:以类名做文件名称,分别创建两个文件,头文件后缀用.h,实现文件后缀用.m。创建好一个类之后,其代码看上去例如以下所看到的: // EOCPe...

weixin_30609287的博客 102

Thor芯片部署

英伟达Jetson Thor芯片性能分析与应用现状 摘要:英伟达最新发布的Jetson Thor芯片基于Blackwell架构,官方宣称AI算力达2070TFLOPS(FP4),较前代Orin提升7.5倍,配备14核Arm CPU和128GB内存。然而实际量产版算力缩水至700TOPS,且因4nm制程良率问题多次延期至2025-2026年交付。该芯片支持FP4/FP8量化、Transformer引擎等先进特性,适用于自动驾驶、机器人等边缘AI场景,但受供应链限制,国内厂商倾向自研方案。开发者可通过JetPa

xiaomu_347的博客 431

读书笔记:Effective C++ 2.0 版,条款19(成员函数,非成员函数和友元函数)

条款19: 分清成员函数,非成员函数和友元函数

weixin_43172531的博客 122

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Effective c++ 条款19: 分清成员函数,非成员函数和友元函数

本条款得出如下结论: 假设f是想正确声明的函数,C是和它相关的类: 1.虚函数必须是成员函数。如果f必须是虚函数,就让它成为C的成员函数。 2.operator>>和operator<<决不能是成员函数。如果f是operator>>或operator<<,让f成为非成员函数。如果f还需要访问C的非公有成员,让f成为C的友元函数。 3.只有非成...

weixin_30848775的博客 126

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

cppcheck使用指南

cppcheck使用指南Table of Contents1 cppcheck简介2 cppcheck使用3 cppcheck与其他软件的整合3.1 与VisualStudio的配合3.2 与TortoiseSVN配合1 cppcheck简介cppcheck是一个静态代码检查工具,支持c/ c++代码;作为编译器的一种补充检查,cppcheck对产品的源代码执行严格的逻辑检查。执行的检查包括:自动

暗日 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

当用fopen读写打开文件时,请使用r+,而不是rw

C++标准中fopen函数的mode只有r,r+,w+,a,a+这几种类别,而没有rw这种类别. 如果尝试对用rw方式打开文件进行写操作,不同的编译器会有不同的处理方式.例如在linux下用gcc4.6.3把rw当成r来处理,会提示bad file descriptor在windows下用dev C++则只是将写文件函数返回失败,但是没有设置errno根据百度百科的说明,还有些编译器则能够把rw识

暗日 5081

为子shell设置变量值的两种方法

为子shell设置变量值有两种方法:一种很常见的方法是将变量export成环境变量,这样该变量就会被带到子shell中去了echo 'echo x=$x' > /tmp/echox chmod +x /tmp/echox x=Hi echo "x不是环境变量的情况下" /tmp/echox echo "x是环境变量的情况下" export x /tmp/echoxx不是环境变量的情况下 x= x是环

暗日 4252

《WebSphereMQ基础教程》MQI笔记

一、MQI的基本数据类型 数据类型 <td width="477" valign="top" style="width:357.7pt;border:solid windowtext 1.0pt; border-left:none

暗日 3171

shell中| ; &的优先级

| 的优先级要高于 ;date; who |wc 2016年 11月 14日 星期一 22:18:38 CST 1 5 45你会发现只有who的结果送到了wc命令. 括号可以用来组合命令(date;who) |wc 2 11 88date与who的结果都送到了wc命令 & 的优先级高于 ;date sleep 5;date & date 201

暗日 2333

《Python网络编程基础》笔记

python网络编程基础                           ================== Author: lujun9972 Date: 2013-03-08 22:29:20 CST Table of Contents ================= 1 客户端与服务器端     1.1 使用inetd或xinetd     1.2

暗日 1764

lua与javascript的相似之处

1. lua中的table,类似于javascript中的Array(数组,同时也是Object,可以当Map用) address={1,2,3} address.Street="Wyman Street" address.Contry="USA" print(address.Street,address["Contry"]  2. 与javascript类似,所有的变量默认为全局变量.lua

暗日 1739

3 curses库窗口(WINDOW)处理

3 curses库窗口(WINDOW)处理 ~~~~~~~~~~~~~~~~~~~~~~~~~~~3.1 什么是窗口 =============== * 窗口是屏幕上的一块区域,在其上面可以进行各种输出及其操作. * 窗口可以位于标准屏幕的任意位置,窗口之间可以相互重叠. * 窗口可以同时包含与它们相关的子窗口,任何在父窗口与子窗口重叠区域的变化会同时影响到他们中的任何一个3.2 窗口操作

暗日 1635

什么样的类可以作为map的键值

在学习C++的map的时候,写了一段代码   #include  #include  using namespace std;  class A {     public:     A(){cout"A created"    A(const A& a){cout"A creat

暗日 1629

图形环境下的shell编程

目录 select dialog tput notify-send kdialog zenityselectselect命令可以创建很简单的菜单,然后获取输入的答案.select命令的格式为:select variable in list do commands done 其中list参数是由空格分隔的文本选项列表,这些列表构成了整个菜单. select命令会将每个列表现实成一个带编号的选项

暗日 1175

perl语言学习记录

perl入门                                ======== Author: Date: 2012-12-05 23:05:55 中国标准时间 Table of Contents ================= 1 perl的变量     1.1 变量声明         1.1.1 声明变量类型         1.1.2 声明

暗日 967
上一篇: &lt;Effective STL&gt;笔记--仿函数
下一篇: &lt;More Effective C++&gt;笔记--运算符
darksun9972
博客等级 码龄19年 42粉丝 399原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值