请教:通过模板元展开固定循环代码的方法.
昨天开了个帖问模板元循环的方法.本来想用这个去解决展开固定循环代码的问题.不过貌似不行.
有一个矩阵的模板
template<int X, int Y, class Ele>
class matrix
{
public:
matrix();
//赋值构造函数
matrix(Ele* value);
........
Ele m[X][Y];
};
那么在赋值构造函数中,如果用for循环的话就很没必要.增加额外的运行时计算.但是我想通过模板元在编译时将其自动展开.请问怎么办?
还有我在想这种c++程序化的预编译能力能不能用到函数的参数上.从而自动生成诸如:
对matrix<2,2,int>就生成这种函数
matrix(int a00, int a01,
int a10, int a11)
的方法呢?