C++过时的标签用法.

//矩阵与向量标签
构 矩阵标签{};
构 向量标签{};
 
//提取矩阵及向量类型标准的特性类<类 MV>构 矩阵向量特征{用 TT=MV::TT;};
 
//求得矩阵*矩阵,矩阵*向量,向量*矩阵,
//算式结果类型
//默认为第1个<类 MV1,类 MV2,类 TT1,类 TT2>
构 的中型{用 型=MV1;};
 
//特例:只有矩阵*向量时,返回右算子即向量的类型<类 MV1,类 MV2>
构 的中型<MV1,MV2,矩阵标签,向量标签>{
    用 型=MV2;
};
//矩阵与向量乘法,入口函数<类 MV1,类 MV2>
类 的中型<MV1,MV2,类 矩阵向量特征<MV1>::TT,
        类 矩阵向量特征<MV2>::TT>::型
积(MV1 常&mv1,MV2 常&mv2){
    中 积(mv1,mv2,
        类 矩阵向量特征<MV1>::TT(),
        类 矩阵向量特征<MV2>::TT());
}
 
//两矩阵相乘<类 矩阵1,类 矩阵2>
矩阵1(矩阵1&m1,矩阵2&m2,矩阵标签,矩阵标签);
 
//矩阵*向量<类 矩阵,类 向量>
向量 积(矩阵 常&m,向量 常&v,矩阵标签,向量标签);
//向量*矩阵<类 向量,类 矩阵>
向量 积(向量 常&v,矩阵 常&m,向量标签,矩阵标签);<类 T>构 矩阵概念{用 型=T;};
//基类模板
//矩阵*向量<类 T0,类 T1>类 向量概念<T0>::型
符号*(矩阵概念<T0>&mc,向量概念<T1>&vc)//不同的模板重载
{
    用 矩阵类型=矩阵概念<T0>::;
    用 向量类型=向量概念<T1>::;
    //转义函数参数
    矩阵类型 常&m(*重转<常 矩阵类型*>(&mc));
    向量类型 常&v(*重转<常 向量类型*>(&vc));
    //具体实现略
}
 
//向量*矩阵<类 T0,类 T1>类 向量概念<T1>::型
符号*(向量概念<T0>&vc,矩阵概念<T1>&mc)//模板重载
{
    用 矩阵类型=矩阵概念<T1>::;
    用 向量类型=向量概念<T0>::;
    //转义函数参数
    向量类型 常&v(*重转<常 向量类型*>(&vc));
    矩阵类型 常&m(*重转<常 矩阵类型*>(&mc));
    //具体实现略
}
posted @ 2022-02-10 15:43  zjh6  阅读(21)  评论(0)    收藏  举报  来源