Quantcast
Channel: C++博客-厚积薄发-随笔分类-C++
Browsing all 29 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

引用计数的智能指针的实现与思考

     摘要: 引用计数在软件开发中是一项非常重用的技术,它可以说是无处不,我们在不知不觉中都在和它打交道,比如 Windows上的COM和Handle, Mac上的ref句柄,脚本语言中的垃圾回收技术。  阅读全文Richard Wei 2012-05-05 17:04 发表评论

View Article


Image may be NSFW.
Clik here to view.

一个高效的内存池实现

     摘要: 在高效C++编程中看到一个不错的内存池实现方案,这里共享下,大家看看有什么不足。  阅读全文Richard Wei 2012-05-05 23:23 发表评论

View Article


Image may be NSFW.
Clik here to view.

如何判断一个C++对象是否在堆栈上

     摘要: 要解答这个问题,其实就是要知道的堆栈的起始地址, 而我们知道堆栈其实就是一段有相同属性的内存页面  阅读全文Richard Wei 2012-05-12 10:57 发表评论

View Article

Image may be NSFW.
Clik here to view.

如何判断一个C++对象是否在堆上

     摘要: 在帖子 "如何判断一个C++对象是否在堆栈上” 中, 又有人提出如何判断一个C++对象是否在堆上。  阅读全文Richard Wei 2012-05-12 14:30 发表评论

View Article

Image may be NSFW.
Clik here to view.

C++11新特性不完全测试

     摘要: Lambda, auto, 统一初始化,智能指针,Regex, Random, function and bind, hash_map… 右值引用和Move语义, 并发(多线程库)…发布  阅读全文Richard Wei 2012-06-06 17:34 发表评论

View Article


Image may be NSFW.
Clik here to view.

C++中实现回调机制的几种方式

     摘要: 最后简单比较下上面3种实现回调的方法: 第一种Callback的方法是面向过程的,使用简单而且灵活,正如C语言本身。 第二种Sink的方法是面向对象的,在C++里使用较多, 可以在一个Sink里封装一组回调接口,适用于一系列比较固定的回调事件。 第三种Delegate的方法也是面向对象的,和Sink封装一组接口不同,Delegate的封装是以函数为单位,粒度比Sink更小更灵活。...

View Article

Image may be NSFW.
Clik here to view.

C++中模块(Dll)对外暴露接口的几种方式

     摘要: 当然,上面几种DLL对外暴露接口的方式本质上没有区别,都是利用PE文件的导出节来导出数据和函数,但是根据它们使用方式的不同,对外部模块来说还是有很大的区别,我们的推荐次序依次是:COM方式->导出API函数方式->导出类方式。  阅读全文Richard Wei 2012-08-29 18:58 发表评论

View Article

Image may be NSFW.
Clik here to view.

C/C++中可变参数的原理

     摘要: 从上面的例子我们可以看到,对于可变参数的函数,有2种东西需要确定,一是可变参数的数量, 二是可变参数的类型,上面的例子中,参数数量我们是在第一个参数指定的,参数类型我们是自己约定的。这种方式在实际使用中显然是不方便,于是我们就有了_vsprintf, 我们根据一个格式化字符串的来表示可变参数的类型和数量,比如C教程中入门就要学习printf, sprintf等。...

View Article


Image may be NSFW.
Clik here to view.

理解C++变量存储模型

     摘要: 通过上面的分析,我们验证了平时C++书上关于各种类型变量存储区域的假设,简单来说就是全局变量和静态变量会被编译到可执行文件的数据节(分只读和可读写)中, 非静态的局部变量则分配在堆栈(stack)上,而new(malloc)出来的内存则分配在堆(heap)上。  阅读全文Richard Wei 2012-09-20 21:57 发表评论

View Article


Image may be NSFW.
Clik here to view.

探索C++对象模型

     摘要: 总之,拿着一把刀,庖丁解牛般的剖析语言背后的实现细节,看起来不是那么实用,但是它能让你对语言的理解更深刻。实际上ATL中大量应用上面的技术,如果没有对C++ 对象模型有比较深刻的理解,是很难深入下去的。  阅读全文Richard Wei 2012-09-21 23:02 发表评论

View Article

Image may be NSFW.
Clik here to view.

重构ATL中的CAutoVectorPtr, CAutoPtr和CAutoStackPtr

     摘要: 看到ATL中有3个类的代码比较比较重复,在atlbase.h中,分别是CAutoVectorPtr, CAutoPtr和CAutoStackPtr,他们的功能其实很类似STL中的autoptr,...

View Article

Image may be NSFW.
Clik here to view.

C++编程规范

     摘要: C++编程规范...  阅读全文Richard Wei 2012-10-06 20:05 发表评论

View Article

Image may be NSFW.
Clik here to view.

理解C++中new背后的行为

     摘要: operator new的一些原则: a. 一般不要重写全局的operator new, 具体可以参考 不要重载全局 ::operator new b. 如果重载了operator new, 同时提供所有版本(plain new, nothrow new, placement new) c. 成对的提供new和delete, 即如果重载了operator new,...

View Article


Image may be NSFW.
Clik here to view.

C++模板会使代码膨胀吗

     摘要: 通过上面的分析 ,相信我们知道了为什么ATL/WTL大量使用模板,但是生成的exe还是这么小的原因 : 不是模板不会使代码膨胀,而是ATL/WTL在设计时就关注了这个问题 ,它避免了在可能生成很多模板实例的模板类中编写大量代码(有些拗口,不知道你有没有读懂^_^) 总结下 ,如果你想用模板,但是又不想 让自己最终的可执行文件变的很大, 有2种方式:...

View Article

Image may be NSFW.
Clik here to view.

在C++中实现事件(委托)

     摘要: 在C++中实现回调机制的几种方式一文中,我们提到了实现回调的三种方式(C风格的回调函数, Sink方式和Delegate方式)。在面向对象开发中,delegate的方式是最灵活和方便的,因此很早就有人用复杂的模板去模拟, 实现起来很复杂。但是现在借助C++11的function和bind, 我们可以很方便的去实现。  阅读全文Richard Wei 2013-01-31 14:16...

View Article


Image may be NSFW.
Clik here to view.

在C++中实现事件(委托)(续)

     摘要: 在上文 在C++中实现事件(委托) 中我们实现的C#里委托方式的事件处理, 虽然使用很方便,但是似乎少了一点C#的味道, 下面我们尝试把它改成真正的C#版。 其实要改成真正的C#版,我们主要要做2件事, 一是吧CEventHandler放到外面,可以让外部直接构造, 二是实现operator +=和operator -=  阅读全文Richard Wei 2013-01-31...

View Article

Image may be NSFW.
Clik here to view.

C++强大背后(转载)

     摘要: 在31年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarne Stroustrup,该门语言则命名为——C with classes,四年后改称为C++。C++是一门通用编程语言,支持多种编程范式,包括过程式、面向对象(object-oriented programming, OP)、泛型(generic...

View Article


Image may be NSFW.
Clik here to view.

C++中基于Crt的内存泄漏检测

     摘要: 尽管这个概念已经让人说滥了 ,还是想简单记录一下, 以备以后查询。  阅读全文Richard Wei 2013-02-25 22:13 发表评论

View Article

Image may be NSFW.
Clik here to view.

成员函数指针与高性能的C++委托(转载)

     摘要: 理解成员函数指针的最佳资料  阅读全文Richard Wei 2013-03-02 18:43 发表评论

View Article

Image may be NSFW.
Clik here to view.

代码自动生成-宏带来的奇技淫巧(转载)

     摘要: 关于宏的一些技巧,总结得挺好,写库的时候比较有用。  阅读全文Richard Wei 2013-03-25 17:31 发表评论

View Article
Browsing all 29 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>