(long) thorn;
long (thorn);
cout << int('Q');
(typeName) value;
typeName (value);
static_cast<long> (thorn);
static_cast<typeName>(value);
// typecast.cpp -- forcing type changes
#include<iostream>
int main()
{
using namespace std;
int auks, bats, coots;
auks = 19.99 + 11.99;
bats = (int)19.99 + (int)11.99;
coots = int(19.99) + int(11.99);
cout<<"auks = "<<auks<<", bats = "<<bats;
cout<<", coots = "<<coots<<endl;
char ch = 'Z';
cout<<"The code for "<<ch<<" is ";
cout<<int(ch)<<endl;
cout<<"Yes, the code is ";
cout<<static_cast<int>(ch)<<endl;//static_cast是一种强制类型转换符
return 0;
}
C++11中的auto声明
对于不确定变量的类型,使用关键字auto,编译器将把变量的类型设置成与初始值相同。
auto n = 100; //n is int
auto x = 1.5; //x is double
auto y = 1.3e12L; //y is long double