#include <iostream>
#include <string>
using namespace std;
// 1. 如果 目标表达式 是指针或者引用 保留 源表达式的限定符 (const volatile)
// 2. 如果 目标表达式 不是是指针或者引用 抛弃 源表达式的限定符 (const volatile)
int main(void)
{
int tmp = 250; // int
const auto a1 = tmp; // const int
auto a2 = a1; // int -- a2 不是指针或者引用 卸掉 const
const auto& a3 = tmp; // const int & -- a3 是指针或者引用 保留 const
auto& a4 = a3; // const int & -- a4 是指针或者引用 保留 const
auto* pt4 = &a1; // const int * -- pt4 是指针或者引用 保留 const
auto pt5 = pt4; // const int * --auto pt5 不是 指针或者引用 应该卸载 const 但为什么 还是 const int * 类型???
system("pause");
return EXIT_SUCCESS;
}