不同类型的模板非类型参数
创始人
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权限,帮助你快速的进行枫叶辅助器辅助教...
为了进一步!西兵互娱辅助&qu... 为了进一步!西兵互娱辅助"本来真的有辅助app"(哔哩哔哩)所有人都在同一条线上,像星星一样排成一排...
连日来!八闽福建辅助"... 连日来!八闽福建辅助"总是确实有辅助脚本"(哔哩哔哩)1)八闽福建辅助辅助插件:进一步探索八闽福建辅...
今天上午!如何下载安装胡乐辅助... 今天上午!如何下载安装胡乐辅助脚本"其实真的是有辅助攻略"(哔哩哔哩)今天上午!如何下载安装胡乐辅助...
黑科技技巧!微信小程序游戏充值... 黑科技技巧!微信小程序游戏充值破解"真是是有辅助app"(哔哩哔哩)1、微信小程序游戏充值破解公共底...
2026版辅助挂!拱趴大菠萝修... 2026版辅助挂!拱趴大菠萝修改器"竟然是有辅助脚本"(哔哩哔哩)拱趴大菠萝修改器破解侠是真的助透视...
目前!兴动游戏辅助"... 目前!兴动游戏辅助"确实真的是有辅助技巧"(哔哩哔哩)1)兴动游戏辅助辅助插件:进一步探索兴动游戏辅...
第三方辅助!博雅西苑曲靖棋牌辅... 第三方辅助!博雅西苑曲靖棋牌辅助"一直确实有辅助方法"(哔哩哔哩)1、这是跨平台的博雅西苑曲靖棋牌辅...