c++
文章平均质量分 67
JinCraft
这个作者很懒,什么都没留下…
展开
-
隐性类型转换运算符重载,比较罕见又有用的玩意!
假如你写了一个类MyObject 并且有一个该类的对象object: MyObject object; 你现在想把一个指针赋值给object,很简单 大家都知道重载赋值运算符=号可以达到这个目的 class MyObject { void operator=(XXX* a) { ....... } }; 那么反过来呢,如果想把object赋值给某个指针poi原创 2014-02-10 23:28:59 · 808 阅读 · 0 评论 -
关于C++的动态库
论坛里有好多人一提到C++的DLL都立马大叫,珍爱生命远离C++动态库。我表示十分不解。 不用动态库来封装类,难不成用静态库么?还没有悔改放弃静态库的请参见http://blog.csdn.net/a63140180/article/details/19053849 不用C++的动态库,难道我要为每个类写一个C语言的函数返回它吗?每个类都带一条extern "c"的猪尾巴,好看么? 所以想不原创 2014-02-11 00:17:30 · 723 阅读 · 0 评论 -
智能指针自动识别类型,正确调用析构函数的方法
智能指针自动识别类型,正确调用析构函数的方法 1,把任何指针封装进Destructor,并把Destructor转化为VoidClass保存。 2,把该指针封装进Destructor之后的Do函数(即实际的析构函数)转化成DestructFunc类型保存起来,delete时只用利用VoidClass对象调用DestructFunc即可。 有人说Do函数并没有出现在VoidClass里,为什么能把它转化成VoidClass的成员函数指针。这里不深究这个,我估计编译器只会认地址,只要指针的值不变,成员函数指针原创 2014-02-11 12:49:56 · 2417 阅读 · 0 评论 -
dll动态库与lib静态库的优劣选择。
第一次自己写有很多个工程的程序,虽然之前研究过一些动态库的相关内容,但是以前只亲手写过使用loadlibrary调用的纯c语言的动态库,没有动态链接过c++的类,因此对dll这东西还是有些恐惧的,所以开始的时候我的工程是由几个LIB工程,几个纯C DLL工程和一个EXE工程组成的(DLL工程也静态链接了LIB工程产生的LIB文件,EXE通过LoadLibrary来调用DLL)。但是编写过程中我逐渐原创 2014-02-10 23:57:46 · 1587 阅读 · 1 评论