C++关于模板使用的一个问题

必须注意模板的类型都必须在编译期确定=_=所以你指望那个T可以像动态语言一样变类型,那是一厢情愿。
■网友
题主问了个奇怪的问题。你定义了一个类型T,你说该返回什么类型?
■网友
模板的原理是在编译期根据不同的参数类型生成不同的函数重载,说到底还是和c一样的静态类型
■网友
用模板偏特化实现。template\u0026lt;typename T, int index\u0026gt; struct value { T operator()(){} };template\u0026lt;\u0026gt; struct value\u0026lt;char*, 0\u0026gt; { char* operator()() { return a; } };template\u0026lt;\u0026gt; struct value\u0026lt;int*, 1\u0026gt; { int* operator()() { return b; } };......
■网友
一个函数的返回值类型必需是确定的,不能想当然地用switch返回不同类型。
■网友
得看Index是编译期确定的量还是运行时确定的量。看需求。不同的需求有不同的最优解。


    推荐阅读