C++11 decltype 的简单使用

decltype 是一个 C++11 关键字,用于在编译时获取表达式的类型,而不实际计算表达式的值。它通常用于以下几个方面:

  • 类型推导:可以获取表达式的类型。这对于泛型编程、模板编程非常有用
    int x = 22;
    decltype(x) y; // y的类型为int
    
  • 函数返回值类型推导:可以使函数的返回类型取决于给它参数
    template <typename T, typename U>
    auto add(T t, U u) -> decltype(t + u) {
        return t + u;
    }
    
  • 访问类成员的类型:可以使用 decltype 来获取类成员的类型
    struct MyStruct {
        int x;
        double y;
    };
    
    decltype(MyStruct::x) var; // var的类型为int
    decltype(MyStruct::y) var2; // var2的类型为double
    

你可能感兴趣的:(c++,算法,开发语言)