gpt4 book ai didi

c++ - 内嵌类继承外层类为什么没有死循环

转载 作者:太空狗 更新时间:2023-10-29 21:34:34 26 4
gpt4 key购买 nike

template<typename... TA>
struct AAA
{
template<typename TB>
struct BBB : AAA<TA..., SomeClass<TB>>
{}
};

我看过上面的代码,但很难理解代码背后的理论。

问题 1> 是否有一个特定的概念来描述这种模式的用法?有什么引用资料可以引用吗?

问题2>为什么struct BBB的定义不会死循环?

谢谢

最佳答案

试着想一个实例化的实际例子。几个案例应该可以说明:

using Type1 = AAA<>::BBB<int>;
// Type1 baseclass is AAA<SomeClass<int>>

using Type2 = typename Type1::BBB<char>;
// Type2 baseclass is AAA<SomeClass<int>, SomeClass<char>

等等。直到你“到达内部”并要求另一个实例化,否则没有。例如,在定义 Type2 之前,不会导致任何 X 集的 Type1::BBB 的任何实例化。

关于c++ - 内嵌类继承外层类为什么没有死循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46004166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com