C++
文章平均质量分 55
viperlong
河北大学学生
展开
-
关于 dynamic_cast 和强制转换的区别
C++程序员大多喜欢使用强制类型转换(我也是),尽管它是C遗留下来的,尽管它存在这样那样的缺点,但是你不能不承认它使用起来很方便,而且绝大多数情况下是不会产生问题的.极少数情况下可能会存在类型转换失败的情况,这时候就需要使用到dynamic_cast了,这里提到的"极少数情况"是这样的:如果有继承或多重继承的类对象,你在某些情况下得到某个对象的指针,而你又想将其转换为某个特定类型,但是由于C++中转载 2013-04-22 16:12:58 · 942 阅读 · 0 评论 -
c++中的 delete
关于c++中的delete一直有几个问题比较迷惑,网上搜集了一些资料。记录下来。1.delete p 之后为什么要 p=NULL;首先,C++标准规定:delete空指针是合法的,没有副作用。但是,delete p后,p并不会自动被置为NULL问题来了,对一个非空指针delete后,若没有赋NULL,若再次delete的话,有可能出现问题。如下代码int *p = ne原创 2013-06-03 16:07:39 · 1357 阅读 · 0 评论 -
c++虚函数的实现机制
1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:class A{public: virtual void f(); virtual void g();private转载 2013-06-03 17:44:54 · 351 阅读 · 0 评论 -
c++中类的大小和虚函数调用顺序
声明了一个父类一个子类。class father{public: father(); ~father(); virtual int getAge();private: int m_age;};class child : public father{public: child(); ~child(); virtual int getAge();private:原创 2013-06-03 17:53:03 · 943 阅读 · 0 评论 -
关于vs的updateing IntelliSense
今天写代码的时候,vs转到定义快捷键“F12”突然就不能用了,按了之后,vs直接是一直等待状态,什么也干不了。网上找了下解决方法如下:“将\Microsoft Visual Studio 9.0\VC\vcpackages\feacp.dll改名,或者直接删除。反正用Visual Assist完全可以取代VS这个功能了。原创 2013-08-12 16:00:51 · 930 阅读 · 0 评论 -
Create C++ Object Dynamically
Create C++ Object DynamicallyIntroductionC++不像C#和Java那样具有反射的能力,通常不能根据任意一个class name来创建该class的instance。但我们知道在MFC中,任何继承了CObject的类都可以根据其名字来创建实例,它是使用了一些宏。而我从来就不喜欢使用大把的宏,虽然有的时候宏可能比较方便,可能对某些人来说也更美观。原理转载 2013-10-28 20:59:02 · 457 阅读 · 0 评论