c++升级元串

#include <常用><整 N>构 AA{
    整 I;符 p[N]{};
    常式 AA(常 符(&pp)[N]){
        区间们::复制(pp, p);I=N;
    };
};<AA a>常式 动 符号""d(){
    中 a.p;
}<AA a>常式 动 符号""z(){
    中 a.I;
}//这种思路不行.<常符*w,整 I>ff(向量<>&){
    静 出向量 出{w};.();
}


空 主(){
    向量<>{"啊啊","呀呀"};
    ff<"1啊啊.txt"d>();
    ff<"2啊啊.txt"d>();
}


前面问题在常符*w,这个不能多个重复使用,只要是同一类的多次使用,模板只实例化了一次.这是不行的.现在升级为这样,将它改变,现在就可以避免实例一次了:

#include <常用><整 N>构 AA{
    整 I=N;符 p[N]{};
    常式 AA(常 符(&pp)[N]){
        区间们::复制(pp, p);
    };
};<AA a>常式 动 符号""d(){中 双{a.p,a.I};}
//元<AA a>常式 动 符号""d(){中 a.p;}
//上面注释掉行.是不行的.<动 w>ff(向量<>&){
    静 出向量 出{w.第一};.();
}

空 主(){
    向量<>{"啊啊","呀呀"};
    ff<"1啊啊.txt"d>();
    ff<"3啊啊.txt"d>();
}


posted @ 2022-10-03 21:51  zjh6  阅读(16)  评论(0)    收藏  举报  来源