#include<iostream>
#include<stdlib.h>
/*
auto关键字常用于两种情况:
1:自动变量,自动获取类型,输出,泛型
2:自动变量,可以实现自动循环一维数组
自动循环的时候,对应的必须是常量,所以二维数组循环是内部循环
就要注意
auto关键字是在C++11中引入,所以有些编译器不支持
*/
void main1()
{
auto num = 10.9;//自动变量,自动匹配类型
auto numA = 10/3.0;
std::cout << num <<" " << numA << std::endl;
system("pause");
}
void main()
{
/*int num[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (auto data : num)//泛型C++语法,循环一维数组,常量
{
std::cout << data<<std::endl;
}*/
double num[2][5] = { 1.0, 2.0, 3.0, 4.5, 5, 6, 7, 8, 9, 10 };
//num数组名 是一个指针常量
//auto 自动循环 begin end;,必须是一个数组的常量
//
for (auto data : num)//泛型C++语法,循环一维数组,常量
{
std::cout << data<<std::endl;//输出数组地址
for (int i = 0; i < 5; i++)
{
std::cout << *(data + i) << std::endl;
}
}
system("pause");
}
#include <iostream>
#include <stdlib.h>
#include <typeinfo>
int main()
{
double db = 10.9;
double *pdb = &db;
auto num = pdb;//通用传入接口
std::cout << typeid(db).name() << std::endl;
std::cout << typeid(num).name() << std::endl;//typeid自动获取类型
std::cout << typeid(pdb).name() << std::endl;
//typeid(db).name() db2;
decltype(db) numA(10.9);//通用的备份接口
std::cout << sizeof(numA) <<" "<< numA << std::endl;
system("pause");
return 0;
}
输出结果
d
Pd //表示* double
Pd
8 10.9
请按任意键继续. . .