C++ 的auto关键字

谁践踏了优雅 2023-07-13 04:09 98阅读 0赞

C中的auto关键字没啥大用,因为它是用于显式地说明变量是自动存储类型的,但是auto又只能用于默认就是自动存储的局部变量,即函数中定义的变量和函数的参数,所以·····emmmm,很尴尬的工作,大家根本不鸟他。
比如:

  1. int ft(int x)
  2. {
  3. auto int a;//用不用auto, a都是自动变量
  4. }

C++看出了auto的尴尬,于是需要有新工作的时候就没有引入新的关键字,直接赋予了auto新的使命,并不让他再做C中的工作(有点内部员工优先晋升的感觉),即C++里auto并不可以用于显式说明局部自动变量是局部自动变量了.

  • 自动类型推断
  • C++11给auto新增的使用方法:在函数模板中,当返回值类型不确定时,可以用auto作为返回值类型的占位符,并在函数原型中,参数的后方写后置返回类型。

    auto ft(int x, double y) -> float;
    //还可以和decltype合作
    auto ft1(int x, float y) ->decltype(x + y);

发表评论

表情:
评论列表 (有 0 条评论,98人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C++11学习笔记: auto关键字

    auto关键字相当于一个类型占位符。在某些场景下使用可以在一定程度上简化代码。如:替换名称比较长的类型(STL容器); 定义lambda表达式指派的变量; 泛型编程。但如果类型

    相关 C++ auto关键字

    C中的auto关键字没啥大用,因为它是用于显式地说明变量是自动存储类型的,但是auto又只能用于默认就是自动存储的局部变量,即函数中定义的变量和函数的参数,所以·····emm

    相关 C++之auto关键字

    【在那些情况下要申明类型】 定义变量类型 函数返回值,函数参数 表达式返回变量类型 【为什么auto】 在开发实践中,有时候我们并不能非常容易地确定一个变量