演習2.332.34
dは不正です:dは整数ポインター
eは不正です:eは整数定数へのポインター
gは不正です:gは整数定数参照です
演習2.35i
:整数定数
j:整数
k:整数定数参照
p:整数ポインター
j2:整数定数
k2:整数定数参照
演習2.36
#include<iostream>
int main()
{
int a = 3, b = 4;
decltype(a) c = a;
decltype((b)) d = a;
++c;
++d;
}
a:int、4
b:int、4
c:int、4
d:参照、4
演習2.37
#include<iostream>
int main()
{
int a = 3, b = 4;
decltype(a) c = a;
decltype(a = b) d = a;
}
a:int、3
b:int、4
c:int、3
d:参照3
演習2.38
#include<iostream>
int main()
{
const int i = 5;
auto a = i;//a为int,忽略顶层const
const auto a2 = i;//a2为const int
decltype(i) b = 5;//b为对常量的引用
}
decltypeがトップレベルのconstと参照を処理する方法は、autoとは異なります。返される変数または式の型には、トップレベルのconstと参照
decltypeが含まれます。結果の型は式の形式に関連し、括弧を追加して取得される型は次のとおりです。参照