关闭

基本语言细节--《The C++ Programming Language 》--(3)基本功能

标签: 编译器多态C++
603人阅读 评论(0) 收藏 举报
分类:

                              基本语言细节--《The C++ Programming Language 》--(3)基本功能

1.数组参数被隐式转化为指针,意味着对于被调函数而言,失去了数组大小的信息;

2.大多数C++实现不对数组范围检查;

3.const限制了对象能够使用的方式,但是并未描述常量应该如何分配;如果编译器知道了所有某const的使用,可以不分配空间;但是对于常量数组典型的情况是需要分配存储空间,因为对于编译器来说无法知道表达式里使用的是数组中的哪些元素;

4.对于普通引用的初始式必须是同一个类型的左值,而不存在隐式类型转换;但是常引用却可以,以此来实现多态;

5.void *的最重要的用途就是向函数传递一个指针,而又不能对对象类型的任何假设;其是设计错误的指示器,应该慎用;

6.避免在代码中使用神秘数;

7.尽可能使用STL;

8.在读输入的时候,应该考虑病态形式的输入;

9.inline函数并不影响函数的语义,每个这样的函数都将有自己的独立地址;inline只是一个给编译器的提示而已!

10.重载的规则:第一,准确匹配;第二,提升的匹配char-int;第三,标准转换的匹配比如int-double;第四,用户定义转换匹配;第五,函数声明中省略号匹配。此规则与声明的顺序无关;与函数返回类型无关。

11.如果你必须使用宏,请使用带有许多大写字母的丑陋的名字!

12.学会使用名字空间;

13.编译单位:用户提交的源文件,首先是对其的预处理,完成宏处理,并按照include指令包含进所有的头文件;而编译单位才是编译器真正的工作对象;

14.const 与typedef都是内部连接的;

15.利用头文件强调界面和强调逻辑结构;

wulangjushi 于HUST 2013.12.5



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:114314次
    • 积分:2808
    • 等级:
    • 排名:第12708名
    • 原创:173篇
    • 转载:19篇
    • 译文:0篇
    • 评论:6条
    最新评论