c++ primer学习总结day2

2018-07-28 06:11:08来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

C++11新特性:

 

auto:

auto让编译器通过初始值来推算变量的类型。

auto定义的变量必须有初始值。

auto声明的所有变量的初始基本数据类型都必须一样。

 

decltype:

decltype的作用是选择返回操作数的数据类型。

编译器分析表达式并得到它的类型,却不计算表达式的值。

decltype(f()) sum = x;        //sum的类型就是函数f的返回类型

如果decltype使用的表达式不是一个变量,则decltype返回表达式结果对应的类型。

int i = 42, *p = &i, &r = i;
decltype(r+0) b;           //正确:加法的结果是int,b是一个未初始化的int
decltype(*p) c;            //错误:c是int& ,必须初始化

decltype的表达式如果是加上了括号的变量,结果将是引用。

 

范围for语句(range for)

语法形式:    for(变量 :对象)

          statement

//输出string对象的字符
string str("some string");
for ( auto c : str)
    cout << c << endl;
//
//修改字符串中的字符
string s("Hello World!!!");
for ( auto &c : s)        //c是引用
    c = toupper(c); 

 

2018年7月27日

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:807. Max Increase to Keep City Skyline

下一篇:UVALive - 6434 (贪心)