首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

模板元编程的不解

2013-05-02 
模板元编程的困惑功能:需要计算vec1[0] * vec2[0] + vec1[1] * vec2[1] + vec1[2] * vec2[2]…… 代码如下:[

模板元编程的困惑
功能:需要计算vec1[0] * vec2[0] + vec1[1] * vec2[1] + vec1[2] * vec2[2]…… 
代码如下:


[解决办法]
assert(vec1.size() == vec2.size());
cout << dot_product<vec1.size() - 1>(vec1, vec2) << endl;
[解决办法]
从文件读的话没办法,原因就是你说的。
[解决办法]
这个你不用试了,非类型整数实参必须是编译期常量。

此外,你举的这个例子其实不是模板元编程,模板元编程的数值计算都是编译期递归的,但你的例子属于执行期运算,充其量不过是模板函数的执行期递归而已。

热点排行