class A {
class B {
public:
int gwe = 0;
};
array<B, 3> arr;
public:
A() {
arr[0].gwe; // When starting to type 'g', IDE will suggest autocompletion for 'gwe'
}
};
现在,如果您要放在上面:template<typename T>
尝试访问数组元素的成员时,IDE不会自动完成。让它成为Xcode,CLion,我还没有尝试过VS,但我坚信它也可以复制行为。在将泛型与其他语言(例如C#,Java或Swift)结合使用之前,我还没有经历过。那么为什么这必须发生在C ++上呢?
正确解析C ++是一个非常复杂且耗时的问题。
如果IDE能够完美地完成它,将花费与编译应用程序一样多的时间,并且您会因为IDE无响应而感到恼火。
因此,为了做出响应,IDE在有限的时间内进行了有限的解析,这意味着它们并不总是能够正确地进行解析。
这里有自动完成功能和类似功能可以提供帮助/帮助,但它们是[[not最终的事实-别指望它们是。