运行时转编译时应用.多个类型统一调用.获取变量前的类型

元<类 F,整...I>
常式 动 切换啊(整 n,F&&f,序列<I...>){
    ((n==I&&(f(整常<整,I>()),0)),...);
    //&&与(..,0)这样就是a&&b,
    //b为0的表达式,所以必须要有0,这里反正能用就行
}
元<整 I,类 F>常式 动 切为编(整 n,F&f){
    型名 造序<I>::型 p;中 切换啊(n,f,p);
};

示例:

#include <变量>
#include "运转编.cpp"

构 啊{
    极 要(){
        中 真;
    }
    整 打(){
        打印("啊");
        中 3;
    }
};
构 呀{
    极 要(){
        中 假;
    }
    整 打(){
        打印("呀");
        中 4;
    }
};
用 T=变量<啊,呀>;
 
//用可变模板是不行的
//主要是,一个下,与一个中,麻烦.
空 主(){//向量是同一类型的,元组是不同类型的
    啊 a;呀 b;向量<T>过{a,b};整 i=0;极 要下=0;
    常式 整 I=变量大小值<T>;
    对(动&t:过){//i与过的顺序要匹配
        切为编<I>(i,[&](动 i){//f取上下文
            常式 整 N=推导(i)::值;静 动 g=取<N>(t);
            如(!g.要()){要下=1;中;}
            g.打();
        });
        i++;如(要下)下;异 断;
    }//只要一个.i给出类型,主要就是这个<下>
}//

这里最关键就是这个要下,想半天都搞不出来

posted @   zjh6  阅读(11)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示