摘要:
函数模板1.定义函数模板:模板定义以关键字 template 开始,后接模板形参表,模板形参表是用尖括号括住的一个或多个模板形参的列表,形参之间以逗号分隔,模板形参表不能为空。比如:1 template 2 int compare(const T &v1, const T &v2)3 ... 阅读全文
摘要:
结构体对齐1--结构体对齐的原因与意义许多计算机系统对基本数据类型的可允许地址做出了一些限制,要求某种类型的对象的地址必须是某个值K(通常是2,4,8)的倍数,而这个k则被称为该数据类型的对齐模数(alignment modulus)。这种对其限制不仅简化了处理器与存储系统之间的接口的硬件设计,而且... 阅读全文
摘要:
宏在C语言中经常使用,在linux的源码中可以看到很多宏的高级应用。因此不理解宏,就很难理解代码。本文参考一些互联网资料做一些总结,希望给大家带来帮助。先说说使用宏的优点及缺点:优点:1.提高代码的可维护性:使用宏定义常量,在改常量值需要修改的时候,只需要改常量定义的地方即可。2.提高代码的可读性:... 阅读全文
摘要:
1.原码,反码,补码:(1)在n位的机器数中,最高位为符号位,该位为零表示为正,为一表示为负;其余n-1位为数值位,各位的值可为零或一。当真值为正时,原码、反码、补码数值位 完全相同;当真值为负时,原码的数值位保持原样,反码的数值位是原码数值位的各位取反,补码则是反码的最低位加一。注意符号位不变。2.无符号位运算(1)位运算应用口诀清零取反要用与,某位置一可用或若要取反和交换,轻轻松松用异或 (2)位运算符的应用(源操作数s掩码mask)按位与-- &:1清零特定位(mask中特定位置0,其它位为1,s=s&mask)2取某数中指定位(mask中特定位置1,其它位为0,s=s& 阅读全文