⚠️ 用几种类型,就有几份计数

👁️ 1 人浏览 💬 0 人评论 ❤️ 添加收藏

(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)三种类型,各调几次:

#include <iostream>
#include <string>

/* 用了几种类型,就生成几份 —— 这就是「代码膨胀」的来源 */
template <typename T>
int mark() { static int n = 0; return ++n; }

int main() {
    /* 三种类型各调两次:每一份各自从 1 数到 2 */
    int a1 = mark<int>(),    a2 = mark<int>();
    int b1 = mark<double>(), b2 = mark<double>();
    int c1 = mark<std::string>();

    (void)a1; (void)b1;
    std::cout << a2 << "/" << b2 << "/" << c1 << "\n";
    return 0;
}
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论