一、变量初始化
1、变量定义和初始化
int age=25; 等价 Int age{25}; 等价 int age={25};
for(int i = 0;i < 10;i++)
{
cout<< i <
等价
for(int i{0};i < 10;i++)
{
cout<< i <
等价
for(int i={0};i < 10;i++)
{
cout<< i <
2、数组定义和初始化
int array[]{1,2,3,4,5,6,7,8,9,10}; 等价 int array[]={1,2,3,4,5,6,7,8,9,10};
例子如下图所示:
#include
#include
using namespace std;
int main()
{
int array[]{1,2,3,4,5,6,7,8,9,10};
for (int i{0}; i < 10;i++)
{
cout << "array["<
以上代码输出内容为:
二、auto的使用
auto:变量的自动类型推断。可以在声明变量的时候,根据变了初始值的类型,自动为此变量选择匹配数据类型(声明时要赋予初值)。
auto自动类型推断发生在编译期间,所以不会造成程序执行效率降低。
#include
#include
using namespace std;
int main()
{
auto str = "HelloWorld!!!";//auto自动识别str数据类型为string类型
cout << str << endl;
auto data = 123;//auto自动识别data数据类型为int类型
cout << data << endl;
auto float_data = 123.456;//auto自动识别float_data数据类型为float类型
cout << float_data << endl;
auto ch = 'h';//auto自动识别ch数据类型为char类型
//定义一个局部变量的i,auto自动识别i数据类型为int类型
for (auto i{ 0 }; i < 10;i++)
{
cout << i<<" ";
}
cout << endl;
return 0;
}
三、&引用
引用:为变量起了另外一个名字。一般用&符号表示。起完别名后,这别名和变量本身我们就看成是同一个变量。
int value = 123;
int &temp = value; //value的别名是temp,这里&不是C语言中的地址运算符,只是起标识作用,表示引用的时候,&在原变量别名的前面(等号的左边),表示地址运算符则在等号右边。
temp = 100; //则value的值也是100.
如下所示:
#include
#include
using namespace std;
int main()
{
int value = 123;
int& temp = value; //value的别名是temp,这里&不是C语言中的地址运算符,只是起标识作用。
cout <<"temp = " << temp << endl;
temp = 100; //则value的值也是100.
cout <<"value = " << value << endl;
return 0;
}
(1)引用的定义并不占用内存,或者引用和原变量似乎占用同一个内存(表面看是占用同一个内存,实际不是占用同一个内存)。
(2)定义引用的时候必须初始化,如int& temp = value;否则没有办法为value起别名,如下定义引用编译系统就会报错:
#include
#include
using namespace std;
int main()
{
int& temp;
return 0;
}
报错如下所示:
(3)另外初始化引用的时候,不能用常量为其初始化,如int&temp=2;是非法的。
(4)定义引用时,引用的变量数据类型必须与原变量数据类型一致,如这样写也是非法的。
#include
#include
using namespace std;
int main()
{
int value = 123;
float& temp = value;
return 0;
}
1、引用的运用
例1:
#include
#include
using namespace std;
void func(int &a,int&b)//形参是引用类型
{
//改变形参a和b,则会改变实参的数据。
a = 100;
b = 200;
}
int main()
{
int a = 123;
int b = 456;
cout << "原来a = " << a << endl;
cout << "原来b = " << b << endl;
func(a,b);
cout << "现在a = " << a << endl;
cout << "现在b = " << b << endl;
return 0;
}
四、const和constptr的使用
待续......



