这两条我看了很久才慢慢理解其中的含义,在这里想与大家分享一下,如果大家有高见也欢迎留言。
57.将类型及其非成员函数接口置于同一名字空间
c++中一个类型有它关联的成员函数,也有非成员函数,但是这个非成员函数和这个类型有某些联系,假如这个非成员的形参或者返回值是这个类型的,我们就介意把这个类型与非成员函数放在同一个空间内。这样当我们要使用这个非成员函数时就能像使用成员函数一样方便。这其中还有一个所谓参数依赖查找ADL,能够帮我们更好的使用非成员函数。
58.应该将类型与函数分别置于不同的名字空间,除非有意想让他们一起工作。
刚刚看完这个标题的时候我就纳闷了,怎么跟前一条讲得完全相反啊!我就带着好奇的心情仔细看下去。经过了一个多小时的阅读(可能是我大脑比较迟钝,看了这么久),发现其实这里所讲的函数与上面57条所讲的并不一样。这里的函数虽说也是非成员函数,但是这个函数和我们的类型毫无关系,就是说两者之间没什么东西联系起来。至于关于这条的一些长篇大论,我也不太记得了,所以不太好举例。
这两条看起来就想参禅一样,感觉很辛苦。如果大家有谁看过这本书或者有更深层次的理解,请给我留言。