延迟实例化是指模板未实例化,直到第一次使用相应的实体.例如,您有一个模板化的函数:
template<int Size>
void YourFunction()
{
//does something
}
Run Code Online (Sandbox Code Playgroud)
参数Size可以具有任何可能的值int.您是否自动为所有可能的值实例化了模板化函数Size?不,模板仅实例化为函数调用首次出现在代码中时实际用作参数的值:
YourFunction<100>(); //instantiated for 100
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |