软件编程

浅析Boost智能指针:scoped_ptr shared_ptr weak_ptr

虽然通过弱引用指针可以有效的解除循环引用,但这种方式必须在程序员能预见会出现循环引用的情况下才能使用,也可以是说这个仅仅是一种编译期的解决方案,如果程序在运行过程中出现了循环引用,还是会造成内存泄漏的
收藏 0 赞 0 分享

shared_ptr线程安全性全面分析

正如boost文档所宣称的,boost为shared_ptr提供了与内置类型同级别的线程安全性。这包括:1. 同一个shared_ptr对象可以被多线程同时读取。2. 不同的shared_ptr对象可以被多线程同时修改成
收藏 0 赞 0 分享

尾递归详细总结分析

关于递归操作,相信大家都已经不陌生。简单地说,一个函数直接或间接地调用自身,是为直接或间接递归
收藏 0 赞 0 分享

GetChar缓存机制深入剖析

以下是对GetChar缓存机制进行了详细的介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

Assert(断言实现机制深入剖析)

言前后最好空一格[编程风格的问题,按你自已的喜好,适合自已就最好]。断言只是用来检查程序的逻辑正确性,不能代替条件替换。断言比printf语句这种形式的打印好使
收藏 0 赞 0 分享

C++中Overload,Override,Hide之间的区别

重载overload,这个概念是大家熟知的。在同一可访问区内被声名的几个具有不同参数列的(参数的类型、个数、顺序不同)同名函数,程序会根据不同的参数列来确定具体调用哪个函数,这种机制就是重载
收藏 0 赞 0 分享

C++中overload,override,overwrite的区别详细解析

以下是对C++中overload,override,overwrite的区别进行了详细的分析介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

C++拷贝构造函数(深拷贝与浅拷贝)详解

深拷贝和浅拷贝可以简单理解为:如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是浅拷贝
收藏 0 赞 0 分享

利用C语言实现HashTable

根据KEY从hashtable中获取接点,步骤是先根据KEY计算hash值,然后从hashtable中找到指定的接点或者接点链表
收藏 0 赞 0 分享

简单说说STL的内存管理

<STL 源码剖析>将其描述为空间配置器,理由是allocator可以将其它存储介质(例如硬盘)做为stl 容器的存储空间。由于内存是allocator管理的主要部分,因此,本文以STL内存管理为出发点介绍allocator
收藏 0 赞 0 分享

如何使用VC库函数中的快速排序函数

下面呢,小编就为大家介绍一下VC中库函数qsort()的用法。需要的朋友可以过来参考下
收藏 0 赞 0 分享

浅析C/C++变量在内存中的分布

变量在内存地址的分布为:堆-栈-代码区-全局静态-常量数据。同一区域的各变量按声明的顺序在内存的中依次由低到高分配空间(只有未赋值的全局变量是个例外)
收藏 0 赞 0 分享

C/C++可变参数的使用

可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
收藏 0 赞 0 分享

线程池的原理与实现详解

下面利用C语言来实现一个简单的线程池,为了使得这个线程池库使用起来更加方便,特在C实现中加入了一些OO的思想,与Objective-C不同,它仅仅是使用了struct来模拟了c++中的类,其实这种方式在linux内核中大量可见
收藏 0 赞 0 分享

c语言中getch,getche,getchar的区别

getche() 和getch()很相似,它也需要引入头文件conio.h,那它们之间的区别又在哪里呢?不同之处就在于getch()无返回显示,getche()有返回显示
收藏 0 赞 0 分享

static_cast,dynamic_cast,reinterpret_cast和const_cast的区别详解

以下是对static_cast,dynamic_cast,reinterpret_cast和const_cast之间的区别进行了详细的介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

char str[] 与 char *str的区别详细解析

以下是对char str[]与char *str的区别进行了详细的介绍,需要的朋友可以过来参考下
收藏 0 赞 0 分享

浅析VC++中的头文件包含问题

类中尽量采用指针或引用方式调用其它类,这样就可以只声明class xxx了。并且这也符合资源最优利用,更利于使用多态
收藏 0 赞 0 分享

VC++开发中完美解决头文件相互包含问题的方法解析

本文中,为了叙述方便,把class AClass;语句成为类AClass的声明,把class AClass开始的对AClass的类成员变量、成员函数原型等的说明称为类的定义,而把在CPP中的部分称为类的定义
收藏 0 赞 0 分享

COLORREF,COLOR,RGB,CString的转化总结分析

实际的软件开发过程中,常需要用到非.net平台的代码。这时候就可能碰到ColorRef(也就是以int类型代表的颜色值或是以DWORD值表示的颜色)。这跟.net平台下的颜色的相互转换MS并没有直接实现
收藏 0 赞 0 分享