亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c++ enable_if的使用技巧有哪些

c++
小樊
83
2024-07-12 09:41:28
欄目: 編程語言

  1. 使用enable_if來限制模板函數的特化
template <typename T>
typename std::enable_if<std::is_integral<T>::value, T>::type
foo(T t) {
    return t * 2;
}

template <typename T>
typename std::enable_if<std::is_floating_point<T>::value, T>::type
foo(T t) {
    return t * 3.14;
}
  1. 使用enable_if來限制模板類的特化
template <typename T, typename = std::enable_if_t<std::is_integral<T>::value>>
class MyClass {
    // class implementation
};

template <typename T, typename = std::enable_if_t<std::is_floating_point<T>::value>>
class MyClass {
    // class implementation
};
  1. 使用enable_if來選擇模板函數的返回類型
template <typename T>
std::enable_if_t<std::is_integral<T>::value, T>
foo(T t) {
    return t * 2;
}

template <typename T>
std::enable_if_t<std::is_floating_point<T>::value, T>
foo(T t) {
    return t * 3.14;
}
  1. 使用enable_if來限制模板函數的參數類型
template <typename T, typename U, 
    typename = std::enable_if_t<std::is_integral<T>::value && std::is_integral<U>::value>>
void bar(T t, U u) {
    // function implementation
}

template <typename T, typename U, 
    typename = std::enable_if_t<std::is_floating_point<T>::value && std::is_floating_point<U>::value>>
void bar(T t, U u) {
    // function implementation
}

0
德昌县| 天柱县| 依安县| 平南县| 乐清市| 冀州市| 年辖:市辖区| 永寿县| 封开县| 晋中市| 常德市| 阳高县| 芜湖市| 黄冈市| 息烽县| 锦屏县| 天峻县| 屏东市| 阳城县| 平凉市| 塔城市| 沾益县| 大英县| 苍溪县| 滁州市| 巴里| 和硕县| 台北市| 宁河县| 剑川县| 老河口市| 仪陇县| 嘉定区| 东乡族自治县| 台湾省| 东源县| 大兴区| 确山县| 南平市| 增城市| 云南省|