1. static_cast(expression)可用于存在继承关系的类指针/引用之间的向上向下转换。执行向下转换时没有安全检查(区别于dynamic_cast),所以如果实际类型与目标类型不符合,编译虽然可以通过,但运行时的后果未定义。void*指针转换为实际的指针其他基本类型的隐式转换以及反方...
分类:
编程语言 时间:
2014-08-03 17:46:25
阅读次数:
249
C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。...
分类:
编程语言 时间:
2014-07-30 23:59:25
阅读次数:
492
C++中的operator主要有两个作用,一是操作符的重载,一是自定义对象类型的隐式转换。对于操作符的重载,许多人都不陌生,但是估计不少人都不太熟悉operator的第二种用法,即自定义对象类型的隐式转换,我们下面就用以下这个小例子温故一下这两种用法: 1 #include 2 #include ....
分类:
编程语言 时间:
2014-07-28 02:54:09
阅读次数:
274
从今天开始,对C++常用技术做个总结。
参考书籍:《C++Primer》、《C++对象模型》、《设计模式》、《Windows核心编程》、《STL解密》。
1. static_cast等四个cast的具体意义
C++类型转换:隐式转换和显式转换。
显式转换:static_cast、dynamic_cast、reinterpret_cast、const_cast。
1.1...
分类:
编程语言 时间:
2014-07-24 10:26:20
阅读次数:
249
implicit 关键字用于声明隐式的用户定义类型转换运算符。 如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换。参考戳此explicit 关键字用于声明必须使用强制转换来调用的用户定义的类型转换运算符。参考戳此有一点要注意的是,一个类中不能同时写显式和...
分类:
其他好文 时间:
2014-07-23 15:36:49
阅读次数:
220
在类型转换时常会遇到隐式转换和显式转换。那我们自定义的类型要如何去定义隐式转换和显式转换?我们来看一段代码
public class Rational
{
private Int32 _inner_int = 0;
public Rational()
{
}
public Rational(Int32...
分类:
其他好文 时间:
2014-07-23 13:24:56
阅读次数:
177
返回表示指定日期的指定日期部分的整数。语法DATEPART ( datepart , date )参数 datepart 指定要返回的日期部分的参数。有关详细信息,请参阅本主题后面的“备注”部分。 date 返回 datetime 值(或可隐式转换为 datetime 值的值)的表达式。date 参...
分类:
数据库 时间:
2014-07-22 00:39:36
阅读次数:
242
面试的时候或多或少会有一道或者多道关于基本数据类型的题,也打算过几天出去面试,就总结一下
1、基本数据类型介绍
2、基本数据类型之间的隐式转换与显示转换
3、与基本数据类型相关的几道面试题...
分类:
编程语言 时间:
2014-07-21 16:11:55
阅读次数:
315
switch的语法格式:
switch (整型或者字符串类型的变量) {
case 变量可能值1:
分支一;
break;
case 变量可能值2:
break;
default:
最后分支;
break;
}
1、switch 后面括号里的参数类型
在1.7版本之前,这个参数必须是int类型或者可以隐式转换为int类型的变量(例如byte、...
分类:
其他好文 时间:
2014-07-21 15:16:16
阅读次数:
303
协变(Convariant)和逆变(Contravariant)的出现,使数组、委托、泛型类型的隐式转换变得可能。 子类转换成基类,称之为协变;基类转换成子类,称之为逆变。.NET4.0以来,支持了泛型接口的协变和逆变。 泛型协变 如果子类泛型隐式转换成基类泛型,使用泛型协变。 有这样的2个基类和派...
分类:
Web程序 时间:
2014-07-18 00:07:51
阅读次数:
340