1? C++基本程序结构:讨论C++对C的一些改进
风格:
1) 输入输出:cin和cout代替printf, iostream.h代替stdio.h,更加方便。
2) 注释:“//”的引入
3) 使用const(代替无参数宏)和内联函数(代替有参数宏)代替宏定义
4) 函数原型(更强的编译时刻的检查)和缺省参数(方便函数调用、减少错误)
5) 新的动态内存分配函数new/delete:使用上更加简单
6) 新的换行符 — endl
内联函数inline:
1) 不是用函数调用的机制,编译遇到时简单的替换而已,省去了函数调用的额外开销
2) 使用宏定义的副作用:
# define f (x) (x+1); 在后面使用 f(1)展开成:(x) (x+1) (1),报编译错,但容易发现
参数中有表达式:
# define floor(x,b) x>=b?0:1,
调用:if(floor(a&0x0f,0x07)) // ...
展开成:if (a&0x0f>0x07?0:1)... ;&优先级低于>,产生错误。
难发现,好解决――加括号
#define band(x) (((x)>5 && (x)<10) ? (x) : 0)
下面的执行结果如何?
for(int i = 4; i < 11; i++) {
int a = i;
out << "a = " << a << endl << '\t';
|
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容 本站提醒:不要进行人身攻击。谢谢配合。 |