自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (2)
  • 收藏
  • 关注

转载 c++字节对齐

规定各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该“变量的类型”或者指定对齐系数所占用的字节数的倍数,当变量类型和指定系数不同时,取小的。整个结构大小按照以上对齐计算,但必须是最大类型大小或者指定对齐系数的整数倍,也就是最后一个成员变量要圆整,当最大类型大小和指定对齐系数不一致的情况,取小的。当成员变量本身是结构体的时候,不能用整个struct大小计算起始地址,而应该用结构体中最大类

2012-05-27 10:50:24 874

原创 读写锁

多个线程产生race condition,根据业务逻辑,分为共享资源的读和写,多个线程的读不会对数据造成破坏。如果不区分读和写,每次遇到race condition便锁住不允许其他线程访问,造成效率低下。根据以上逻辑,可以用信号量来实现多个线程的共享读,互斥写。 //读写递归锁 class RWRecLock { public: typedef AutoRLockT AutoRLock

2012-05-07 22:18:28 621

原创 CRITICAL_SECTION同步易出错的地方

众所周知通过CRITICAL_SECTION可以对多个线程同步,然而加锁和解锁的次数不匹配将导致死锁: class CLock { public: CLock() { InitializeCriticalSection(&m_cs); } ~CLock() { DeleteCriticalSection(&m_cs); } void Lock() { Ente

2012-05-07 19:58:03 1445 1

转载 C++转型操作符:const_cast、dynamic_cast、static_cast、reinterpret_cast

C++转型操作符   C++通过引进四个新的类型转换操作符克服了C风格类型转换的缺点,这四个操作符是: const_cast( expression ) dynamic_cast( expression ) static_cast( expression ) reinterpret_cast( expression ) 在大多数情况下,对于这些操作符你只需要知道原来你习惯

2012-05-01 23:13:52 598

转载 scoped_ptr解析

scoped_ptr解析 《超越C++标准库-Boost库导论》 头文件: "boost/scoped_ptr.hpp" boost::scoped_ptr 用于确保动态分配的对象能够被正确地删除。scoped_ptr有着与std::auto_ptr类似的特性,而最大的区别在于它不能转让所有权,然而auto_ptr却可以。事实上,scoped_ptr永远不能被复制或被赋值!scoped_

2012-05-01 22:58:23 607

转载 当析构函数遇到多线程 ── C++ 中线程安全的对象回调

转自:http://www.cnblogs.com/Solstice/archive/2010/02/10/dtor_meets_threads.html#_Toc8041 摘要 编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的互斥器来保护。如何保证即将析构对象 x 的时候,不会有另一个线程正在调用 x 的成员函数?或者说,如何保证在执行 x 的

2012-05-01 13:03:17 2089

转载 shared_ptr解析

shared_ptr解析 《超越C++标准库-Boost库导论》 头文件: "boost/shared_ptr.hpp" 几乎所有稍微复杂点的程序都需要某种形式的引用计数智能指针。这些智能指针让我们不再需要为了管理被两个或多个对象共享的对象的生存期而编写复杂的逻辑。当引用计数降为零,没有对象再需要这个共享的对象时,这个对象就自动被销毁了。引用计数智能指针可以分为侵入式(intrusive)和

2012-05-01 12:54:40 4161

WindowsAPI参考大全(中文)

MSDN固然是MS送给我们进行程序设计时候最好的帮助文档,可惜是英文的,有时候理解起来有些费事,不妨试试WindowsAPI参考大全(中文)。

2008-11-14

C C++语言经典算法

都是一些常用经典的算法描述,另外用C/C++语言描述,对于想学习编程技巧的人大有帮助!

2008-11-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除