C++CLI基本数据类型探索
C++/CLI支持的基本类型,如int、double、bool等。,可以说在某些方面遵循了ISO-C++中的类型——相同的用法在C++/CLI中会得到相同的结果,比如加法或赋值操作。但是C++/CLI也为这些基本类型引入了一些新的东西。
在通用类型系统(CTS)中,每个基本类型在系统命名空间空(见表1)中都有相应的类。比如int其实完全等同于System::Int32。我们可以用它们中的任何一个来声明一个整数:
int ival = 0;
int 32 ival 2 = 0;
为了便于移植,在使用这些基本类型时,我们建议您使用内置关键字,而不是系统名称空中的类名。
对于系统命名空房间中类的公共静态成员,我们可以通过内置关键字或者系统命名空房间中的类名来访问。例如,为了获得数值类型的取值范围,我们可以直接使用内置关键字来访问它的静态属性MaxValue和MinValue。
int IMAX val = int::max value;
int I minval = int 32::MinValue;
每种数值类型都支持一个名为Parse的成员函数,该函数用于将字符串转换为它所表示的数值。例如,给定以下字符串:
String^奖金= "$ 12,000.79 ";
调用Parse会将myBonus初始化为12000.79:
double my bonus = double::Parse(bonus,ns);
其中ns表示对某些NumberStyles枚举类型进行按位“或”运算的结果。NumberStyles是位于System::Globalization naming空中的一个枚举类型,用于表示对空白、货币符号、小数点或逗号的处理。请看下面的代码:
使用命名空间系统;
使用命名空间System::Globalization;
双bonusString( String^奖金)
{
number styles ns = number styles::allow leading white;
ns = number styles::AllowCurrencySymbol;
ns = number styles::AllowThousands;
ns = number styles::AllowDecimalPoint;
return double::Parse( bonus,ns);
}
0条评论