Mera om typidentifiering

Tillsammans med auto finns det ett annat helt nytt reserverat ord, decltype. Den används för att bestämma typen av ett uttryck vid compileringen. Du kan skriva så här:

auto var1 = 3.14;
decltype(var1) var2;

var2 blir av samma typ som var1, som i sin tur får sin typ från initialiseringen med 3.14. Båda är alltså av typen double.

Just nu är det kanske inte klart vilken nytta du skall ha av detta, och det är nog så att det är mest till för utveckling av bibliotek, men nu har du i alla fall sett det.

Här kan det vara på sin plats att fräscha upp minnet med hur man kan få fram typen under exekvering. Det reserverade ordet typeid används till detta.  Så för att få veta vilken typ var2 har kan du göra så här när du labbar med typer:

cout << "var2 har typen " << typeid(var2).name() << endl;

Vilket hos mig ger:

var2 har typen d
Publicerad i C/C++

Kategorier

WP to LinkedIn Auto Publish Powered By : XYZScripts.com