提问者:小点点

有可能通过模板创建一个带有变量类型下标的数组吗?


可以这样使用

str<int> = "int";
num<double> = 2;
cout << str<int> << endl; // output "int"
cout << num<double> << endl; // output 2

共1个答案

匿名用户

是,声明strnum如下

template <typename>
std::string str;

template <typename>
int num;

是模板变量,从C++14开始可用。

但考虑到所有str变量的类型为std::string,所有num变量的类型为int

下面是一个完整的编译示例

#include <iostream>

template <typename>
std::string str;

template <typename>
int num;

int main ()
 {
   str<int> = "int";
   num<double> = 2;

   std::cout << str<int> << std::endl; // output "int"
   std::cout << num<double> << std::endl; // output 2
 }

相关问题