C++ 代码生成和模板专业化
C++ Code generation and template specialization
如果函数模板或 class 模板是特化的但未实际使用,C++ 编译器是否会生成代码?我知道它不会,如果不专门(功能或 class 模板)并且不使用。
--谢谢
从技术上讲,编译器可能会选择消除您的特化,因为它的消除不会影响您程序的可观察行为。见as-if rule。编译器通常提供用于导出符号的工具,这样即使它们未被使用,它们也会被保留。
如果函数模板或 class 模板是特化的但未实际使用,C++ 编译器是否会生成代码?我知道它不会,如果不专门(功能或 class 模板)并且不使用。 --谢谢
从技术上讲,编译器可能会选择消除您的特化,因为它的消除不会影响您程序的可观察行为。见as-if rule。编译器通常提供用于导出符号的工具,这样即使它们未被使用,它们也会被保留。