• C++11之decltype


    使用场景

         在C++中常常要用到非常长的变量名。假设已经有变量和你将使用的变量是一个类型。就可以使用decltypekeyword

    来申明一样的类型变量。

    decltype原理

         返回现有变量类型。decltype是一个keyword,而不是一个函数,这有啥差别呢?decltype在编译阶段返回变量类

    型,而不是在执行阶段传递不同变量返回不同值。

    decltype使用范例

    1、复杂已知变量类型
    map<string, vector<string>> str_map;
    decltype(str_map) str_map_new;
    2、表达式返回值类型
    int a, b;
    decltype(a + b) a;

    3、函数返回值
    int foo(int i) {
         return i;
    }
    double foo(double d) {
         return d;
    }
    
    template<typename T>
    auto getNum(T t)->decltype(foo(t)) {
        return foo(t);
    }

    注意
    1、decltype两个括号返回变量引用类型
    int i;
    decltype((i)) r = i;
    decltype(i) a;
    2、auto和decltype配合使用能够实现不同返回类型
  • 相关阅读:
    React——from
    React——条件渲染
    React——event
    React——组件
    React——JSX
    flask_mail使用
    flask开发restful api
    mysql limit和offset用法
    flask打包安装文件
    flask-sqlalchemy使用及数据迁移
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7003617.html
Copyright © 2020-2023  润新知