C ++ Primer Fifth Edition:演習2.33 2.34 2.35 2.36 2.37 2.38

演習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が含まれます。結果の型は式の形式に関連し、括弧を追加して取得される型は次のとおりです。参照

おすすめ

転載: blog.csdn.net/Xgggcalled/article/details/108940891