不使用辅助函数来存储模板函数的静态变量的替代方案是什么?
创始人
2024-12-28 18:00:33
0

使用C++11引入的局部静态变量来存储模板函数的静态变量。每个模板实例都将获得其自己的静态变量副本,而无需使用辅助函数。

示例代码:

template 
void do_something(T val) {
    static std::map& counter = []() -> std::map& {
        static std::map counter;
        return counter;
    }();
    ++counter[val];
    std::cout << "val: " << val << ", count: " << counter[val] << std::endl;
}

int main() {
    do_something(1);
    do_something(2);
    do_something(1);
    do_something(3);
    return 0;
}

以上代码中,counter变量是模板函数do_something的静态变量,类型为std::map,它被定义为一个包含lambda表达式的静态变量。该lambda表达式返回一个引用,该引用初始化为一个静态局部变量counter。 在每个调用模板函数do_something的实例时,都将访问其自己的静态变量副本。 在示例中,输出结果为:

val: 1, count: 1
val: 2, count: 1
val: 1, count: 2
val: 3, count: 1

相关内容

热门资讯

三分钟黑科技!中至软件扑克挂,... 三分钟黑科技!中至软件扑克挂,扑克世界牌局设置(详细透视辅助软件教程)1、完成中至软件扑克挂的残局,...
8分钟教程!四川家园麻将断勾卡... 8分钟教程!四川家园麻将断勾卡有没有挂,wepoke德州扑克系统规律(详细透视辅助app教程)1、每...
1分钟辅助挂!浙江游戏大厅ap... 1、1分钟辅助挂!浙江游戏大厅app辅助,wopoker辅助器免费版v2.0(详细透视辅助神器教程)...
四分钟介绍!新麻圈辅助,德扑之... 新麻圈辅助新手教程相关信息汇总(需添加指定薇757446909获取下载链接);四分钟介绍!新麻圈辅助...
2分钟辅助挂!吉祥麻将填大坑怎... 2分钟辅助挂!吉祥麻将填大坑怎么能让胜率高,wpk如何才能稳定长期收益(详细透视辅助工具教程)1、让...
9分钟攻略!推大石有外挂么,p... 9分钟攻略!推大石有外挂么,pokerx机器人(详细透视辅助软件教程);实战中需综合运用上述技巧,并...
8分钟教学!潮汕雀友外挂,wp... 8分钟教学!潮汕雀友外挂,wpk系统发牌规律(详细透视辅助软件教程);超受欢迎的潮汕雀友外挂稳赢小游...
四分钟详情!逗娱碰胡辅助拿好牌... 四分钟详情!逗娱碰胡辅助拿好牌,wpk微扑克真的有辅助(详细透视辅助神器教程)是一款可以让一直输的玩...
七分钟介绍!雀神小程序怎么调胜... 七分钟介绍!雀神小程序怎么调胜率,微扑克wpk辅助软件(详细透视辅助器教程);值得一提的是,雀神小程...
4分钟方法!花花生活圈辅助器,... 4分钟方法!花花生活圈辅助器,微扑克ai代打(详细透视辅助器教程);花花生活圈辅助器简单的灵活控制,...