| « | February 2026 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | |
| 公告 |
|
☆★☆★☆★☆★☆★☆ 生活的点点记录,以及一些体会...........
喜欢是淡淡的爱,爱是深深的喜欢.
时间会见证一切.......................
欢迎大家指出错误,共同进步..........
期待中..............................
☆★☆★☆★☆★☆★☆ |
| Blog信息 |
|
blog名称: 日志总数:162 评论数量:312 留言数量:0 访问次数:959883 建立时间:2005年5月17日 |

| |
|
[读书笔记]c++函数的高级待性 软件技术
oceanblue 发表于 2005/6/13 16:20:24 |
|
1当心隐式类型转换导致重载函数产生二义性:
#include<iostream.h>void output(int x);void output(float x);void output(int x){ cout<<"output int"<<x<<endl;
}void output(float x){ cout<<"output float"<<x<<endl; }void main(void){ int x=1; float y=1.0; output(x); output(y); output(1.0);//error output(int(0.5)); output(float(0.7));}
note:由于数据常量本身没有数据类型,它直接用做参数时将自动进行类型转换(称为隐式类型转换).
2. 函数内联
用内联函数取代宏:
在c程序中,可以用宏代码提高执行效率.宏代码不是函数,但使用起来像函数.省去了参数压栈,生成汇编语言的call调用,返回参数,执行return等过程,从而提高了速度.
使用宏代码最大的缺点是容易出错,预处理在复制宏代码时常常产生意想不到的边际效应.
宏的别一个缺点就是不可调试,但是内联函数是可以调试的.
宏代码还有另一个缺点是:无法操作类私有数据成员. |
|
|