这种关系"A is nested class in B"传递的吗?
Is relationship that "A is nested class in B" transitive?
我感兴趣的是关系"A是嵌套类在B"传递?例如:
class A
{
class B
{
class C
{
//...
};
};
};
。在这种情况下,C
嵌套在A
中吗?我正在寻找一个正式的原因(参考标准)解释一下。
嵌套类是在另一个类中定义的类,因此B
和C
都是嵌套的。嵌套类位于其封闭类的作用域内。但这不是可传递的——因为C
不能在A
内部直接访问,而是通过B::C
访问。
我们发现最接近的是:
9.7嵌套类声明[class.nest]
- […嵌套类在其外围类的作用域中。[…]
因此,由于C
不在A
的作用域中,因此它不是"嵌套的"。对于A
,但它是一个嵌套类
相关文章:
- 将数据添加到 CArray 会产生错误"cannot access private member declared in class 'CObject'"
- setbuf in class c++
- Class overhead in C++
- "expected unqualified-id before 'void'" & "string in class does not name a type" 错误
- §12.3.2 [class.conv.fct]/1 in C++1z 相对于 C++14 发生了重大变化。有意义吗?
- typedef in a class- C++
- 禁止从模板类的库标头中"Base class ‘class X’ should be explicitly initialized in the copy constructor"
- "virtual base class in the case of multilevel inheritance"有意义吗
- std::map in class:在执行速度和内存使用之间进行权衡
- 错误:在 c++ 中"too few arguements in template class name 'queue' "
- 派生类'no type named my_data in <base class>'中的错误
- 找到"cannot access private member declared in class 'QObject'"的根本原因
- 名称查找是否应该"in the class of the object expression"查找该类的成员?
- C++11 "In class initialization"功能不适用于工会
- 位域"In-class initialization"结果为"error: lvalue required as left operand of assignment"
- Arduino 错误"unable to find a register to spill in class 'NO_REGS'"
- 如何在Xcode 4中摆脱"In class initializer for static data member ... is a C++0x extension"警告
- "In class member initialization"功能是否已制作成 C++11?
- Getline in class c++
- 英特尔编译器和使用 constexpr 时的"cannot have an in-class initializer"