友元
友元函数
但是
友元类
这里的意思是Date是Time的友元,那么就能在Date里访问Time,但是Time并不能访问Date
这种友元关系是单向的,我是你的友元,你不一定是我的友元
内部类
就是在一个类的里面再定义一个类
这里的类B是类A的一个内部类,还可以看出A的大小只有4
就能发现,类B跟类A在空间独立的,只是受A的类域限制
另外,如果内部类是共有的就可以直接使用,若是私有的就不能使用了,说明内部类也受访问限定符的限制
内部类天生是外部类的友元
编译器的一些优化
这就是一部分优化
若是使用引用传参,则都不会进行优化
至于为什么要加const是因为当传第二个参数2时,会先产生一个临时对象,这个临时对象具有常性,所以使用引用传参时才需要加上const
还有这些优化
同一个程序,写法不同优化程度也就不同
总结:
1、接受返回值时尽量拷贝构造接收,不要赋值接收
2、函数中返回对象时,尽量返回匿名对象