声明和定义
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关键字。