gpt4 book ai didi

c++ - 本地类作为模板参数 - 实例化点

转载 作者:行者123 更新时间:2023-12-04 07:56:00 26 4
gpt4 key购买 nike

我试图围绕 TC++PL,第 4 版(第 751 页)的示例进行总结。

void fff()
{
struct S { int a,b; };
vector<S> vs;
// ...
}
从讨论中可以看出 vector<S> 的实例化点就在 void fff() 的定义之前.然而, struct S在外面不可见 void fff() .将本地类的实例化点视为模板参数的正确方法是什么?

最佳答案

实例化的意思是 模板实例化在这种情况下。
编译器在 fff 之前创建了 vector 的 vector 类定义,因此如果稍后需要使用 S 完成另一个实例化,则可以重用它。
此时它不会创建 vector 的实例。
是的,我们无法从 fff 外部访问 S,但编译器知道它并创建一个全局模板以便可以重用它。

https://en.cppreference.com/w/cpp/language/class_template

关于c++ - 本地类作为模板参数 - 实例化点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66702820/

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