- 博客(8)
- 资源 (20)
- 收藏
- 关注
原创 Effective C++ Second Edition 读书笔记
C++是面向对象的编程语言(Object Orient Programming Language),与传统的面向过程的C语言编程自然是有很大差别的。C++包含C语言的全部特性,但是要理解的是C++的很多特性C并不是不能实现,只是C++帮我们封装了很多框架问题。从另外一个角度来看C++的执行效率会没有C语言高,因为C++需要很多框架上得处理。所以理解C++的特性,对于提高效率,面向对象编程具有举足轻
2012-02-26 08:58:01 1025
原创 第六章 继承和面向对象设计 (Effective C++ Second Edition 读书笔记)
条款35: 使公有继承体现 "是一个" 的含义注释:C++面向对象编程中一条重要的规则是:公有继承意味着 "是一个" 。条款36: 区分接口继承和实现继承1) 定义纯虚函数的目的在于,使派生类仅仅只是继承函数的接口。2) 声明简单虚函数的目的在于,使派生类继承函数的接口和缺省实现。3) 声明非虚函数的目的在于,使派生类继承函数的接口和强制性实现。注释1:80-20定
2012-02-26 07:19:13 829
原创 第五章 类和函数:实现(Effective C++ Second Edition 读书笔记)
条款29: 避免返回内部数据的句柄1) 对于const成员函数来说,返回句柄是不明智的,因为它会破坏数据抽象。2) 对于非const成员函数来说,返回句柄会带来麻烦,特别是涉及到临时对象时。评论:内部数据是受保护的,将其句柄传递出去,相当于违反内部数据受保护这一原则。C++是面向对象的方法编程,要尽量不面向对象的数据编程。条款30: 避免这样的成员函数:其返回值是指向成员的非c
2012-02-26 07:19:01 821
原创 第四章 类和函数:设计与声明(Effective C++ Second Edition 读书笔记)
条款18: 争取使类的接口完整并且最小1) 接口中函数越多,以后的潜在用户就越难理解。2) 接口中函数越多,越难以维护。3) 类的定义太长会导致项目开发过程中浪费大量的编译时间。评论:接口复杂导致编译器对.h头文件长时间解析,并占用大量内存,导致编译时间变长。简单的.h和接口,可以加速编译速度。条款19: 分清成员函数,非成员函数和友元函数1) 虚拟函数必定是某个类的成
2012-02-26 07:18:46 807
原创 第三章:构造函数,析构函数和赋值操作(Effective C++ Second Edition 读书笔记)
类的构造函数,析构函数,赋值函数,拷贝函数需要特别注意,因为这几个操作常常隐藏在日常变量操作中。重点:为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符(条款11)1) 要写自己版本的拷贝构造函数和赋值操作符函数,或者,声明为private成员,而不去定义(实现)它们。这就防止了会有人去调用它们,也防止了编译器去生成它们。2) 采用某种引用计数机制去跟踪当前有多少个对象
2012-02-22 21:38:46 933
原创 第二章:内存管理(Effective C++ Second Edition 读书笔记)
空间和时间的权衡,通常是指内存空间和CPU时间的权衡。为了更好的优化算法,减少运算时间。某种程度上需要花费更多的内存空间。为了尽量节省内存空间,常常会采用一些算法保证,但牺牲的却是宝贵的CPU运算时间。因此,程序对于内存的管理是相当重要的。C语言采用malloc和free函数,而C++语言采用new和delete运算符。条款5:对应的new和delete要采用相同的形式评论:杜绝数
2012-02-22 20:01:23 906
原创 第一章:从C转向C++ (Effective C++ Second Edition 读书笔记)
最近项目高层软件从C语言切换C++开发,内部推荐阅读 这本书。在此,对阅读过程中的一些所感所想做些记录。对书中提到的一些C++开发条款和个人的理解,总结整理下笔记,以供参考。第一章的主要内容是从C转向C++,这个比较适合笔者,因为一直以来就是用C语言开发的。最初接触的是清华大学出版吕凤翥的,ISBN 7-302-03321-8,后来以学习谭浩强的经典版,ISBN 7-302-0
2012-02-21 19:37:53 1304 2
原创 如何解决日志管理?
一个稍大一点的系统,通常就需要考虑内嵌一个日志系统,无论这个系统是多么精简,至少能给开发人员定位问题。而常用的方法无过于使用控制台的printf和文件记录fwrite函数。在一个大型系统中,日志该如何管理,当系统运行n天后,发现了一个BUG,难道要去控制台截取printf打印?生成一个巨大的日志文件吗?是这么做的吗?可行吗?这个问题的答案是非常明显的,我们不能用printf来做大型系统的日志管
2012-02-05 10:35:53 1951 2
Aocoda-RC-H743Dual-lida2003-4.4.4
2024-03-25
log for Ardupilot 4.4.0 beta3 + error compass variance
2023-07-31
inav-6.1.1-AOCODARCH7DUAL-fix-beeping
2023-06-27
H743-Copter-4.3.7.zip
2023-06-06
H743-BMI270Dual.zip
2023-06-02
H743-BMI270x2-v30.zip
2023-06-01
H743-BMI270x2-v22.zip
2023-05-28
BetaFlight Mark4 H7BMI27 Vibration&Oscillation Tracking 1.1
2023-05-21
BetaFlight Mark4 H7BMI270 Vibration&Oscillation Default 1.0
2023-05-20
QGroundControl-v4.26打包资料
2023-04-24
ip camera app(android)
2023-04-24
AIY Projects app
2023-01-20
AOCODA-H7DUAL(Copter-4.3.0固件).zip
2022-11-05
u-blox8-M8-ReceiverDescrProtSpec-UBX-13003221
2022-10-13
TX12-EdgeTx-elrs.zip
2022-08-10
TX12官网生产固件2.3.11
2022-08-10
PX4-ExternalModule.zip
2022-07-08
BTFL_backup_KakuteF7_20220704_083604配置文件
2022-07-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人