c++有两种传值可以改变外部参数,一种是传递指针,另一种是传递引用,对于前者,可以用Ugly(but explicitly),对于后者,Clean(but hidden),在传递的时候有一种值得注意的地方,那就是如void function(int &)和void function(const int &),这两个函数的区别在于,前者可以传递整数但是这个整数必须先实例化,如int x = 10,但是如果使用function(10),这样的方式去调用的话就会出现差错,解决办法是使用后面的书写方法function(const int &),对于在函数的声明后面加const有两种作用,一个是为了防止非const的调用和函数的重载。void* 可以指向任何类型的指针,但是转换的时候需要作出区别。
那么这个时候大家一定会问,我为什么会闲的蛋疼去使用const修饰函数呢,原因是使用了const 以后就可以相当于使用了*this指针,什么时候使用呢?那就是当你的成员函数不会去试图修改成员参数的时候。