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 @   zjh6  阅读(16)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示