c++ 特性回顾

来源:互联网 发布:asp客服源码 编辑:程序博客网 时间:2024/05/16 16:07

声明和定义

c++ 11 中增加了新的声明和定义方式,代码如下

 17 #include <stdio.h>                                                                                   18                                                                                                      19 int main() {                                                                                         20   int a = 1.5;  // ok, but warning                                                                   21   int b(1.5);  // ok, but warning                                                                    22   int c{123};   // if use float, error                                                               23   int d = {234}; // if use float, error                                                                                                                                        24                                                                                                      25   printf("%d, %d, %d, %d\n", a, b, c, d);                                                            26 }  

值得注意的是20,21行,直接把浮点型数字赋值给整数类型后,会收到高级,但是编译仍然会通过。
但是再22,23行,在花括号的情况下,如果使用浮点数给整形赋值则会报错。
上面的代码在编译时需要使用c++11, 命令是g++ –std=c++11
另外在上面main函数的结尾没有加return 0;这样的代码,是因为新的标准下c++11下会自动加上,

引用和指针

引用的特点是指向了同一个object,而且必须在声明时就赋值,并且此后都不能再改变。
指针的类似是也是间接引用object,但是不同之处在于,可以只声明不赋值,而且一生中可以赋予不同的值
const类型的指针也必须在申明的时候就赋值
const类型默认会被限制在local,如果要想在外部使用,需要使用extern关键字。

0 0