2022年12月26日第二次开始阅读
如何设置编译器的警告级别?
理解所有的警告,应该通过修改代码而不是降低警告级别来排查警告。
什么是RAII?
多线程的互斥锁应用RAII机制
模板与泛型
什么是匈牙利法?什么是泛型编程?为什么匈牙利法在泛型编程中根本不可行?
泛型编程:编写完全一般化并可重复使用的算法,其效率与针对某个特定数据类型而设计的算法相同。
泛型:具有在多种数据类型上皆可操作的意思。
C++中常说的泛型编程,指的是模板编程、类多态编程。
匈牙利标记法是由Charles Simonyi发明,是编程中变量的一种命名习惯。
- 格式:[Prefix]-BaseTag-Name
其中 [Prefix]是可选的,BaseTag是数据类型的缩写,Name是变量名字,说明变量的作用
前缀[Prefix]
p-指针
rg-集合
c-计数器
h-句柄
BaseTag主要有
v-void
i-int
f-BOOL
ui-UINT
b-BYTE
ch-CHAR
wch-WCHAR
ul-ULONG
l-LONG
dw-DWORD
hr-HRESULT
fn-funtion
sz-String 以"/0"结尾的字符串
str w-USHORT,SHORT,WORD
成员命名
针对函数成员,成员变量用m_开头,全局变量用g_开头
example:
BOOL m_fInitialized
BYTE *pbBuffer
64.理智地结合静态多态性和动态多态性
实验:使用IDL或不使用IDL实现RPC
参考文献,[Sutter04] H. Sutter. Exceptional C++ Style (Addison-Wesley, 2004).中英文版本已经从CSDN下载。
C++TR104已经下载
STL 算法
84.用算法代替手工编写的循环
boost的lambda库
windows11使用最新版本boost的lambda库
boost中Function和Lambda的使用
观察者,桥接,工厂,访问者设计模式
transform for_each replace_if partition算法
transform算法
参考文献
Bibliography
C++ Coding Standards Bibliography
C++代码标准参考文献(C++ Coding Standards Bibliography)
C++ In-Depth Series