摘要: C++开发必看 四种强制类型转换的总结 C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换成char。 dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。 reinterpreter_cast,仅仅重新解释类型,但没有进行二进制的转换。 4种类型转换的格式,如: TYPE B = stati... 阅读全文
posted @ 2013-08-08 16:31 Lance.M 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误,需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。关于对象的静态类型和动态类型,看一个示例:class B{}class C : public B{}class D : public B{}D* pD = new D();//pD的静态类型是它声明的类型D*,动态类型也是D*B* pB = pD;//pB的静态类型是它声明的类型B*,动态类型是p 阅读全文
posted @ 2013-08-06 10:47 Lance.M 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 如果现在你做的C++项目(课题)包含的文件没有超过1000个,你可以选择略过此文,不过建议继续浏览。如果你觉得重新编译文件的时间很短或者时间长一点无所谓,反正需要重新编译,那么你也可以选择略过此文,不过也建议浏览。如果你想学习或者关心这块内容,那么此文必定会给你带来收获。首先我不给出依存关系的定义,我给出一个例子。 1 class Peopel{ 2 public: 3 People(const std::string & name,const Date& brithday,Image Img) 4 std::string name( ) const; 5 Date b... 阅读全文
posted @ 2013-07-24 17:26 Lance.M 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 如果有一个操作数是复数, 另一个操作数被转换为复数。否则,如果有一个操作数是浮点数, 另一个操作数被转换为浮点数。否则, 如果有一个操作数是长整数,则另一个操作数被转换为长整数;否则,两者必然都是普通整数,无须类型转换例子如下:>>> coerce(1, 2) (1, 2) >>> >>> coerce(1.3, 134L) (1.3, 134.0) >>> >>> coerce(1, 134L) (1L, 134L) >>> >>> coerce(1j, 134L) 阅读全文
posted @ 2013-07-16 15:54 Lance.M 阅读(4441) 评论(0) 推荐(0) 编辑
摘要: 先看下面一段代码: 1/******************************************* 2 * Author: Leslie Wei 3 * Created Time: 2012年04月22日 星期日 21时35分58秒 4 * File Name: nullObj.cpp 5 * Description: 6 * @Copyright reserved 7 ********************************************/ 8 9 #include 10 class nullObj11 {12 public:13 void Print()1.. 阅读全文
posted @ 2013-04-21 22:25 Lance.M 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 2006-12-16 05:00 来源:BLOG 作者:寒星轩 责任编辑:方舟·yesky mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。 下面是一个小例子: class Clx 阅读全文
posted @ 2013-04-21 16:01 Lance.M 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 2005-08-23 08:36 来源:天极网 作者:宋宝华 责任编辑:方舟·yesky 引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着"数组名就是指针"的误解。 想必这种误解的根源在于国内某著名的C程序设计教程。如果这篇文章能够纠正许多中国程序员对数组 阅读全文
posted @ 2013-04-21 14:54 Lance.M 阅读(107) 评论(0) 推荐(0) 编辑