c++ 编写经验,欢迎指正
htqx 2006-12-01 10:56:31
1。关于const .放在修饰的主语的后面。
int const
int * const
int * & const;
int * & [] const; //数组不能修饰
int * & () const; //常函数只能出现在类中,被常对象调用
2。参数传递,值传递,引用传递,多用引用少用值
a。基本类型用值,包括指针
b。类类型用引用,注意,const &比 &有更广的适用性。const &可以传递常量,临时对象,还可以接受中途的类型转换。
c。引用本身是通过指针技术来实现的,指针的注意事项,同时作用于引用。
3。数组只能通过引用传递,否则,第一维降级为指针。
int (&)[1][2]
int *[2]
4.对象分为堆对象,栈对象, 堆对象使用new创建,栈对象的活动范围在创建其范围内。范围是:语句,块,函数。小心引用或指针所引用的栈对象脱离范围,自动释放。
5。对象分为基本对象,类对象,基本类型临时变量不能转化为普通引用,只能转化为常量引用。
6。文字量, 即在源代码输入的文字。数字为int类型,字符串为 char const[字符个数+1] 。文字量为临时对象。
7。c风格字符串,文字量字符串可以转化为char * 和 char const*。但是他的真实类型是 char const[字符个数+1]。文字量字符串后添加字符'\0'为c风格字符串,通过类型char * 或 char const* 来使用,但是因为类型是错误的,所以应该小心奕奕。
8。c++是一种类型和对象分离的语言,类型决定编译时的正确性,对象决定运行时合法性。
9。引用是类型的一部分,但是引用和非引用的界限很掩蔽。因此,应该避免同时存在引用于非引用的参数,也就是采用统一的传值或传引用规范。
10。在类的设计中,引用和指针成员一般都不能默认的拷贝,而需要定义自己的拷贝函数。
11。拷贝函数需要检测拷贝的是否为自身。
12。类型转换是类的构造函数,实用T o(obj),同时调用了类型转换语法,而 T o = obj 没有显式调用类型转化。 operator T()是另一种类型转换,但是无显式或隐式的分别。
13。多采用中文名称。