C++编程规范

1. inline与类内定义的函数

C++编程规范
函数如果在class body内定义的话,就会自动称为inline的候选人,之所以是说称为候选人,是因为到底是不是inline是由编译器决定的,如果函数比较复杂,则即使声明为inline,编译器也不会把它当做inline。

2. 构造函数重载

C++编程规范
上面两个构造函数是不能被这样重载的,因为第一个有参的构造函数给了初值,那么如果写一个Complex c1;那调用第一个和第二个都可以,编译器也不知道该怎么办了,然后就报错。

3.构造函数放在private中与singleton模式

构造函数放在private中一般没什么作用,因为如果在private里面,要构造一个对象怎么办?但是如果要实现单例模式,就可以将构造函数放在private中。
C++编程规范

4.相同class的各个object互为友元

C++编程规范
上面的func中竟然可以直接取param的实部和虚部,因为相同class的各个object互为友元,所以可以直接访问private变量。