大佬求助,有没有老哥解释一下这句话?
c吧
全部回复
仅看楼主
level 1
面包干😳 楼主
这说的好绕啊,看了好久都没看懂。[泪]
2022年09月15日 06点09分 1
level 1
面包干😳 楼主

2022年09月15日 07点09分 2
level 1
实在不理解就跳过,书本看不懂的,百度搜搜可能就懂了,不用纠结在书上
2022年09月15日 13点09分 3
level 2
我个人的想法:当你想要在一个友元声明里使用某个类或者非成员函数的名字时(事实上这个类或者非成员函数就是我们要使用的友元),他们自身可以是还未被声明的,可以在这个友元声明之后声明他们自身。
我觉得你不能理解可能是因为误解了"友元本身不一定真的声明在当前作用域中"这句话里的友元本身,这个友元就是我们在上面的友元声明中定义的友元,他的名字就是在之前的友元声明中被使用的名字,他的名字可以在之前的友元声明中被使用,而他本身的声明可以不在那个友元声明的作用域中,你可能误解了究竟哪个东西是友元,我们要定义为友元(也就是友元声明中使用的名字的本身)就是友元,而不是将其声明为友元的那个东西。
这只是我个人的看法,我没带书,有些东西想不起来了,可能是错的,仅供参考,仅供参考!
2022年09月15日 15点09分 4
谢谢,我其实不理解的是:当一个名字第一次出现在友元声明中,我们隐式的假定该名字在作用域中是可见的。
2022年09月15日 16点09分
我的疑问:作用域是类的作用域吗?这个隐式假定可见的名字不是友元的名字吗?如果是友元,友元在类的作用域中是可见的,不是能被类的成员函数在类内直接使用了?而不用去再作声明,这样就和后面矛盾了!
2022年09月15日 16点09分
我对这句话是这样想的,不知道对不对:它说的名字在当前作用域可见,是指的友元声明在类这个作用域是可见的(也就是说友元可以使用类的成员的权限,在类的作用域是可见),不是友元本身在类的作用域可见,要想使用友元,需要友元本身声明才可以。
2022年09月15日 16点09分
总结:不知道它说的这个名字指的是谁!
2022年09月15日 16点09分
1