- 博客(9)
- 资源 (8)
- 收藏
- 关注
原创 《Effective STL》条款24:当关乎效率时应该在map::operator[]和map::insert之间仔细选择
如果你要更新已存在的map元素,operator[]更好,但如果你要增加一个新元素,insert则有优势.更有效率的”添加或更新“函数(书中的函数我抠了出来~ )template<typename MapType, typename KeyArgType, typename ValueArgType>typename MapType::iter
2012-07-31 20:34:17 2433
原创 《C++ Templates》读书笔记
第二章 函数模版模板函数代表一个函数家族,看起来跟普通函数很相似,唯一区别就是模板函数中某些元素是未确定的,在使用时候这些元素被参数化。返回两个值中最大者的模板函数:templateinline T const& max (T const& a, T const& b){ return a < b ? b : a;}这个模板定义了一个“返回两者中最大者”的函数家族,
2012-07-28 22:07:26 1418 1
原创 stl排序之sort函数
STL容器的排序,支持随机访问的容器vector,deque,string没有sort成员,可调用std::sort排序;list排序调用自带的list::sort。下面是std::sort函数,有两个版本:template void sort ( RandomAccessIterator first, RandomAccessIterator last );template
2012-07-26 23:26:24 40166
原创 c++避免delete不完整类型 --checked_delete
在C++中,delete一个类型不完整的类对象的指针,编译器会发出警告,不幸的是,程序员有时候会忽略这种警告。在下面的例子中,main函数里new了一个类指针,调用delete_obj函数delete企图这个指针,delete_obj函数定义在del.h文件中,然而delete_obj函数只能“看见”Object类的声明,不能“看见”其定义。运行的结果发现Object析构没被调用。// f
2012-07-23 23:10:10 3944
原创 libcurl学习笔记(一)
libcurl是C语言开发的网络库,支持多种网络协议.开发前的准备开发环境windows, vs2005.先下载Curl,目前最新版本:7.22.0libcurl有现成的vs工程,在curl-7.22.0\lib目录,将其编译成静态库,生成libcurl.lib.建一练习工程,从curl-7.22.0\lib目录引入libcurl工程,将curl-7.22.0\include\
2012-07-22 23:23:02 13287 1
原创 效率很高的url-encode和url-decode函数
在网上发现的url-encode和url-decode函数,写得简洁、高效,拿出来分享:/* Converts a hex character to its integer value */char from_hex(char ch) { return isdigit(ch) ? ch - '0' : tolower(ch) - 'a' + 10;}/* Converts an
2012-07-16 20:17:16 4877 1
原创 多线程编程之临界区的应用
一 临界区特点临界区(Critical Section)是一段供线程独占式访问的代码,也就是说若有一线程正在访问该代码段,其它线程想要访问,只能等待当前线程离开该代码段方可进入,这样保证了线程安全。他工作于用户级(相对于内核级),在Window系统中CRITICAL_SECTION实现临界区相关机制。二 临界区相关函数:void InitializeCriticalSection(
2012-07-15 00:22:32 20630 4
原创 单例模式c++实现方法总结
一 单例模式介绍单例模式约束了类的实例化,只允许类创建一个对象。在用代码实现单例模式之前,先看看单例模式的类结构: 特点:1. 类的构造函数外界不可访问.2. 提供了创建对象的接口. 二 单例模式C++实现1. 实现方法一(只作为样例,不推荐使用)// .h文件class SimpleSingleton{public: ~SimpleS
2012-07-14 20:32:28 7870 3
原创 c++公共常量定义方式的比较
我们常在公共头文件中定义一些常量,定义常量方法如下:方法1commdef.h(公共头文件):const int constname = XXX;在使用该变量的地方加入 #include "commdef.h"方法2commdef.h(公共头文件):extern const int constname;commdef.cpp文件:const int constna
2012-07-02 22:55:56 4942 1
des,3des,mac工具及完整源码
2011-03-08
DES和3DES加解密算法源码实现
2011-01-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人