不同类型的模板非类型参数
创始人
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、德州之星有外挂!德州专用扑克高科技,(aaPoker)其实存在有挂(详细透视第三方教程)。2、德...
透视有挂(微扑克德州专用辅助器... 透视有挂(微扑克德州专用辅助器)微扑克必胜技巧(详细辅助透视教程)果然有挂;致您一封信;亲爱玩家:《...
德州之星有外挂!德扑快速计算胜... 德州之星有外挂!德扑快速计算胜率,(aapoker)原先真的有挂(详细辅助AI教程);实战中需综合运...
透视代打(wpk透视辅助工具)... 您好,wpk透视辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在这...
德州之星辅助!wpk线上德州俱... 德州之星辅助!wpk线上德州俱乐部,(德州wpk)都是真的有挂(详细辅助线上教程);德州之星辅助黑科...
透视辅助(aapoker俱乐部... 自定义系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想分享给你好...
透视黑科技(wpk德州透视辅助... 1、透视黑科技(wpk德州透视辅助)微扑克系统机制(详细辅助透牌教程)原生是有挂;详细教程。2、透视...
微扑克辅助器ios!德州之星a... 相信很多朋友都在电脑上玩过微扑克辅助器ios吧,但是很多朋友都在抱怨用电脑玩起来不方便。为此小编给大...
透视工具(德州ai辅助)wep... 透视工具(德州ai辅助)wepower有机器人吗(详细辅助必备教程)素来是有挂是一款可以让一直输的玩...
智星德州菠萝!wpk这个软件真... 智星德州菠萝!wpk这个软件真实吗,(AApoker)往昔是有挂(详细辅助揭秘教程);亲真的是有正版...