一、auto关键字
早期auto修饰的变量有自动存储器功能,但其他int之类的的类型也有此功能(C++98)
所以在C++11中 ,auto能自动识别变量的类型
#include <iostream>
using namespace std;
auto num()
{
return 1;
}
int main()
{
auto x = 1;
auto y = 'a';
auto z = num();
auto& a = x;
auto* b = &x;
auto c = &x;
cout << typeid(x).name() << endl;
cout << typeid(y).name() << endl;
cout << typeid(z).name() << endl;
cout << typeid(a).name() << endl;
cout << typeid(b).name() << endl;
cout << typeid(c).name() << endl;
return 0;
}
注意:
二、范围for
类似与python中for循环的使用,是一种新型的语法
迭代的范围必须是确定的,比如数组的大小应该是能确定的
#include <iostream>
using namespace std;
int main()
{
int arr[5] = { 1, 2, 3, 4, 5 };
for (auto& i : arr)
{
cout << i << endl;
}
return 0;
}
三、nullptr
int* p1 = NULL;
int* p2 = 0;
int* p3 = nullptr
|