c++模版编程困惑

疯狂-的-蜗牛 2012-05-14 10:24:53

template<class T,int n>
void CMatrix<T,n>::SubMetrix(int line, int column,CMatrix<T,3>& m) const
{
assert(line>0&&line<=(n-2));
assert(column>0&&column<=(n-2));
for(int i=1;i<=9;++i)
m.ChangeValue(i,operator()(line+(i-1)/3,column+(i-1)%3));
}

说明:CMatrix<T,n>是定义的一个n行n列的模版矩阵,上面的函数实现取子矩阵的功能
参数CMatrix<T,3>& m是取一个3X3的矩阵,可以实现
现在我想取一个任意阶的矩阵,第三个参数该如何定义呢?
...全文
115 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯狂-的-蜗牛 2012-05-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

模版有时不如Code Generation好用。
[/Quote]
Code Generation是什么东东啊
赵4老师 2012-05-14
  • 打赏
  • 举报
回复
模版有时不如Code Generation好用。
疯狂-的-蜗牛 2012-05-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

C/C++ code

template<class T,int n,int nSub>
void CMatrix<T,n>::SubMetrix(int line, int column,CMatrix<T,nSub>& m) const


可以么??多添加个参数传递下呗。
[/Quote]
这样做不行的,不过倒是给了我一个提示
可以这样定义类

template<class T,int n,int nSub=3>
class CMatrix
{
};
W170532934 2012-05-14
  • 打赏
  • 举报
回复

template<class T,int n,int nSub>
void CMatrix<T,n>::SubMetrix(int line, int column,CMatrix<T,nSub>& m) const

可以么??多添加个参数传递下呗。
疯狂-的-蜗牛 2012-05-14
  • 打赏
  • 举报
回复
这个没多大的关系
就是子矩阵的第一个元素在矩阵中的位置
W170532934 2012-05-14
  • 打赏
  • 举报
回复
line和column是做什么的??
W170532934 2012-05-14
  • 打赏
  • 举报
回复
line和column是做什么的??

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧