当前位置:   article > 正文

C++入门-auto关键字_auto &p=y

auto &p=y

C++入门-auto关键字

1.auto可以修饰各种类型的变量,然后在编译阶段,将变量类型推导出来,进行替换。

	int a = 10;
	auto b = &a;
	auto c = 'a';
	auto d = TestAuto;

	cout << typeid(b).name() << endl;
	cout << typeid(c).name() << endl;
	cout << typeid(d).name() << endl;
	//auto e;无法通过编译,使用auto定义变量时,必须对其进行初始化。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
	int x = 10;
	auto y = &x;
	auto* p = &x;
	//auto * p = x;无法通过编译*p与x类型不同。
	auto& z = x;
	cout << typeid(y).name() << endl;
	cout << typeid(p).name() << endl;
	cout << typeid(z).name() << endl;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2.在同一行声明多个变量,变量类型需要相同,否则编译会报错。

auto a = 1.0, b = 5.5;
  • 1

3.auto不能作为函数参数

4.auto不能直接来声明数组

5.范围for

int array[] = { 1,2,3,4,5,6 };
for (auto e : array)//与for(int e =0;e<sizeof(array)/sizeof(array[0]);e++相同。
{
	e *= 2;//不会改变原数组的值。
}
for (auto& e : array)	
{
	e *= 2;//可以改变原数组的值	
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/888707
推荐阅读
相关标签
  

闽ICP备14008679号