在C ++中,给定一个嵌套类,内部类可以有一个指向外部类的成员指针吗?
//1
console.log(findById(tabs,'tabB').active)
//2 (individual tag)
var obj = findById(tabs,'tabB')
obj.active = !obj.active
//2 (all tags)
for(var i = 0;i < tabs.length;i++){
tabs[i].active = !tabs[i].active
}
如果没问题,是否有任何/棘手的问题应该小心谨慎?
答案 0 :(得分:2)
您可以声明指向外部类的指针或引用,因为它不需要完整的类型。声明对象将要求完成类型。请参阅incomplete types
上的参考资料这就是为什么你可以指向与数据成员相同的类的原因:
class Outer
{
Outer* p; // Outer is an incomplete type at this point
};
答案 1 :(得分:1)
没关系,没问题。 我能想到的一件事可能让你感到惊讶的是,在C ++中,内部类没有对外部类的实例的隐式引用。但是,我不会想到,因为你正在使用指针,这将是一个问题。