不同类型的模板非类型参数
创始人
2025-01-09 08:00:07
0

在C++中,模板的非类型参数可以是整数、枚举、指针、引用、数组和对象等。下面是一些不同类型的模板非类型参数的代码示例:

  1. 整数类型的非类型参数:
template
void printValue() {
    std::cout << "Value is: " << N << std::endl;
}

int main() {
    printValue<10>(); // 输出: Value is: 10
    printValue<20>(); // 输出: Value is: 20
    return 0;
}
  1. 枚举类型的非类型参数:
enum class Color { Red, Green, Blue };

template
void printColor() {
    std::cout << "Color is: ";
    switch (C) {
        case Color::Red:
            std::cout << "Red";
            break;
        case Color::Green:
            std::cout << "Green";
            break;
        case Color::Blue:
            std::cout << "Blue";
            break;
    }
    std::cout << std::endl;
}

int main() {
    printColor();   // 输出: Color is: Red
    printColor(); // 输出: Color is: Green
    return 0;
}
  1. 指针类型的非类型参数:
template
void printPointerValue() {
    std::cout << "Value at the pointer: " << *Ptr << std::endl;
}

int main() {
    int value = 42;
    printPointerValue<&value>(); // 输出: Value at the pointer: 42
    return 0;
}
  1. 引用类型的非类型参数:
template
void printReferenceValue() {
    std::cout << "Value of the reference: " << Ref << std::endl;
}

int main() {
    int value = 42;
    printReferenceValue(); // 输出: Value of the reference: 42
    return 0;
}
  1. 数组类型的非类型参数:
template
void printArray() {
    std::cout << "Array values: ";
    for (int i = 0; i < N; ++i) {
        std::cout << Arr[i] << " ";
    }
    std::cout << std::endl;
}

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    printArray<5, arr>(); // 输出: Array values: 1 2 3 4 5
    return 0;
}
  1. 对象类型的非类型参数:
class MyClass {
public:
    MyClass(int value) : value_(value) {}

    int getValue() const {
        return value_;
    }

private:
    int value_;
};

template
void printObjectValue() {
    std::cout << "Object value: " << Obj.getValue() << std::endl;
}

int main() {
    MyClass obj(42);
    printObjectValue(); // 输出: Object value: 42
    return 0;
}

这些示例展示了不同类型的模板非类型参数的使用方法。请注意,对于数组类型的非类型参数,需要将数组的大小作为额外的模板参数传递给模板函数。

相关内容

热门资讯

终于知道!哈糖大菠萝万能挂,聚... 1、终于知道!哈糖大菠萝万能挂,聚星ai辅助工具激活码,必赢教程(有挂神器)(UU poker、聚星...
玩家必看科普!werplan免... 1、玩家必看科普!werplan免费挂下载,hh poker软件,我来教教你(有挂教程);详细教程。...
玩家必看教程!hhpoker俱... 玩家必看教程!hhpoker俱乐部是干嘛的,aapoker脚本,科技教程(有挂攻略);hhpoker...
实测分享!hhpoker有透视... 实测分享!hhpoker有透视功能吗,hhpoker德州透视,曝光教程(有挂攻略);支持多人共享记分...
一分钟教会你!sohoo po... 一分钟教会你!sohoo poker辅助器,wepokerplus到底是挂了吗,我来教教你(有挂软件...
玩家必看教程!德普之星辅助器,... 玩家必看教程!德普之星辅助器,哈糖大菠萝可以开挂吗,软件教程(有挂软件)是一款可以让一直输的玩家,快...
玩家必备科技!德州之星扫描器,... 玩家必备科技!德州之星扫描器,智星菠萝可以辅助吗,实用技巧(有挂神器);支持多人共享记分板与复盘,通...
教学盘点!wepoker辅助透... 教学盘点!wepoker辅助透视,wepoker透视底牌脚本,揭秘教程(有挂软件);玩家必备必赢加哟...
关于!wepoker插件功能辅... 关于!wepoker插件功能辅助器,wepoker透视最简单三个步骤,透视教程(有挂软件);小薇(透...
玩家爆料!wepoker可以开... 玩家爆料!wepoker可以开透视吗,wepoker可以透视码,2025新版总结(有挂神器)1、许多...