摘要: 原文地址:http://www.cnblogs.com/idestiny/articles/1432819.html内存泄露是C++程序员都头疼的大问题。C++缺乏像JAVA、C#一样,拥有GC这么一项有利的武器,它将内存管理的部分权限交给了程序员。虽然GC的存在节约了开发、排错的时间与成本,但是C++为了追求运行速度而20年来坚决不予补充进其标准。(题外话:C++通过加大开发难度去换取执行速度的做法,在现在看来不知是否能给与正面的评价,还是留给将来再说吧。) 从此,在堆上申请了内存忘了释放、所造成的内存泄露的问题就一直困扰着C++程序员。也许为了稍许弥补没有垃圾回收器所造成的开发门槛高,各大 阅读全文
posted @ 2011-08-06 19:48 wangkangluo1 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://hi.baidu.com/hpagent/blog/item/471b7d92dc8ac39ca977a4dc.html测试一下,看看例子#include <iostream>#include <string>#include "boost/bind.hpp"using namespace std;class tracer {public:tracer() { std::cout << "tracer::tracer()\n"; }tracer(const tracer& other){ 阅读全文
posted @ 2011-08-06 19:44 wangkangluo1 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/haichang/archive/2010/10/22/1857974.html01#include <iostream>02#include <boost/bind.hpp>03#include <boost/function.hpp>0405classTest06{07public:08voidtest()09{10std::cout<<"test"<<std::endl;11}12voidtest1(inti)13{14std::cout<< 阅读全文
posted @ 2011-08-06 19:41 wangkangluo1 阅读(699) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cppblog.com/walkspeed/archive/2007/12/28/39823.html头文件 regex.hpp常用的类boost::regex 正则表达式boost::cmatch 以char数组为容器,存储匹配返回值。boost::smatch 以std::string为容器,存储匹配返回值。boost::regex_match 匹配算法boost::regex_search 查找算法boost::regex_replace 替换算法简单例子#include <iostream>#include <boost/regex.h 阅读全文
posted @ 2011-08-06 19:30 wangkangluo1 阅读(1041) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/TianFang/archive/2008/09/29/1301880.htmlBoost的转换函数(二)boost::numeric_cast在c++中,我们经常需要把不同类型的数字互相转换,如将一个数字在long和short之间转换。但由于各数字的精度不同,当一个数字从"大"类型到"小"类型就可能导致转换失败,如下所示:longn1 = 99999999;shortn2 =static_cast<short>(n1);对于如上转换,n2得到的是一个负数,显然这个不是我们所期望的,并且 阅读全文
posted @ 2011-08-06 19:21 wangkangluo1 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/TianFang/archive/2008/09/24/1298344.htmlBoost的转换函数(一)Boost的转换函数是对C++中的四种类型转换函数(const_cast,reinterpret_cast,static_cast,dynamic_cast)的一些补充和扩展,在阅读本文前,请先熟悉C++中的四种类型转换函数相关知识。polymorphic_castC++提供了dynamic_cast来实现运行时的类型转换,但是如果用来转换指针时,需要记得检查返回值(这是很多程序员容易忘掉的地方),否则一旦转换失败,将获得一个NULL 阅读全文
posted @ 2011-08-06 19:20 wangkangluo1 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/TianFang/archive/2007/11/23/970446.htmlC++的new和delete功能小窥C++在new和delete的时候到底在干些什么?今天写了一个小程序测试一下C++在new和delete的时候到底在干些什么。intg_num = 3;classA{public:intvalue;A(inta):value(a){cout<<"A("<<a<<") called"<<endl;}~A() {cout<<&quo 阅读全文
posted @ 2011-08-06 19:17 wangkangluo1 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/TianFang/archive/2007/08/23/867350.html一个boost底下的线程池Boost的thread库中目前并没有提供线程池,我在sorceforge上找了一个用boost编写的线程池。该线程池和boost结合的比较好,并且提供了多种任务执行策略,使用也非常简单。下载地址:http://threadpool.sourceforge.net/使用threadpool:这个线程池不需要编译,只要在项目中包含其头文件就可以了。例如我的threadpool.hpp文件路径(文件夹下有threadpool.hpp的路径) 阅读全文
posted @ 2011-08-06 18:46 wangkangluo1 阅读(870) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://rainx.cn/blog/archives/109呵呵,今天要写一个性能测试的程序,由于之前用过boost的thread,所以就采用了boost的thread库程序大概是根据指定的参数来生成多个线程来进行一个操作…本来满简单的..但是之前时候不知道boost有进程组的支持…所以只能自己动态的建立一大堆 thread ..放到一个容器中..然后在遍历join下,然后再在结束前delete他们,很麻烦..不过最后还是实现了。不过就在完成之后,同事晓哲给我看了一下他的程序..用到了boost的thread_group ,这才发现原来boost也有进程组的支持阿…晕….刚才试 阅读全文
posted @ 2011-08-06 18:22 wangkangluo1 阅读(1772) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.ibm.com/developerworks/cn/aix/library/au-boostfs/index.htmlC++语言(实际上是C++标准)的最常见问题之一是,缺乏定义良好的库来帮助处理文件系统查询和操作。由于这个原因,程序员不得不使用本机操作系统提供的应用程序编程接口(Application Program Interfaces,API),而这使得代码不能在平台之间移植。以下面的简单情况为例:您需要确定某个文件是否是 Directory 类型。在 Microsoft® Windows® 平台中,可以通过调用GetAttribute 阅读全文
posted @ 2011-08-06 18:00 wangkangluo1 阅读(2188) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cppblog.com/janvy/archive/2010/03/24/110478.html服务端:Boost.Asio是一个跨平台的网络及底层IO的C++编程库,它使用现代C++手法实现了统一的异步调用模型。头文件#include <boost/asio.hpp> 名空间using namespace boost::asio; ASIO库能够使用TCP、UDP、ICMP、串口来发送/接收数据,下面先介绍TCP协议的读写操作对于读写方式,ASIO支持同步和异步两种方式,首先登场的是同步方式,下面请同步方式自我介绍一下:大家好!我是同步方式!我的主 阅读全文
posted @ 2011-08-06 17:58 wangkangluo1 阅读(3828) 评论(0) 推荐(0) 编辑
摘要: 12不愧是C++,多线程果然是烦!先记下来:01//Lock object02boost::mutex m_guard;0304voidworker(conststd::string& s)05{06//outside critical section07{08//outside critical section09boost::lock_guard<boost::mutex> lock_obj(m_guard);//lock()10//inside critical section11cout << s <<" Enter critica 阅读全文
posted @ 2011-08-06 17:56 wangkangluo1 阅读(15263) 评论(0) 推荐(1) 编辑
摘要: 原文地址:http://blog.minidx.com/2009/03/03/2209.html项目中经常用到各种不同的语言的朋友们应该会比较有这样的体会:一种开发语言用了比较长的时间,突然间转到另外一种语言的话,不管是数据类型或者语法结构,多多少少都会有那么一点不适应。哪怕MFC中的类型与标准C++也是一样的。下面是MFC/C++/C中字符类型CString, int, string, char*之间的转换的说明与举例,经常用的东西,相信对于用C/C++的朋友,还是比较有用的。1CString,int,string,char*之间的转换string转CStringCString.format 阅读全文
posted @ 2011-08-06 17:39 wangkangluo1 阅读(9689) 评论(0) 推荐(1) 编辑