小编Eph*_*edo的帖子

模板;常量表达式;编译时间

我有几个问题

1)

#include <iostream>
template<typename T>
void func(T t){}


int main()
{
 int i;
 double d;
 std::cin>>i;

if(i==1)
 func(i);
else
 func(d);
}
Run Code Online (Sandbox Code Playgroud)

何时(运行时/编译时)生成所需的函数?实例化后有多少个版本的函数?

2)有什么区别

template<typename T> auto func(T t){return 0;}
Run Code Online (Sandbox Code Playgroud)

template<typename T> constexpr auto func(T t){return 0;}
Run Code Online (Sandbox Code Playgroud)

据我了解,template在编译时constexpr也有效。为什么(以及何时)我需要使用 constexpr模板?

c++ templates constexpr c++11

4
推荐指数
1
解决办法
7798
查看次数

标签 统计

c++ ×1

c++11 ×1

constexpr ×1

templates ×1