boost
ningto.com
个人站点:https://ningto.com
展开
-
Windows下boost安装
1.下载boost Windows版,如:boost_1_48_0;2.运行boostrap.bat,会生成bjam.exe;3.运行bjam.exe(时间会比较长),会生成一个stage目录里面包含了所有新生成的lib文件;4.工程属性里面需要包含目录boost_1_48_0,以及库目录boost_1_48_0\stage\lib(有需要的话可以Add)boost网址:http:原创 2012-08-19 20:38:40 · 2627 阅读 · 0 评论 -
boost xml
读写XML文件:testConfigRead.xml 1234 first second third #include #include #include #include #include #include #include #include #include struct TestCo原创 2012-10-18 13:45:38 · 6845 阅读 · 0 评论 -
boost::any 用法
// Package.h#pragma once#include #include #include #include typedef struct{ int command;}Header, *PHeader;class Package{public: Package(Header header) : header_(header) { } frien原创 2012-09-24 17:32:35 · 1096 阅读 · 0 评论 -
boost unit test
在工程属性->生成事件->生成后事件,加入:"$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no如我们要测试boost::any文章里面的Package类,新建一个工程,注意要去掉main函数,注意顺序,代码如下:#define BOOST_TEST_MODULE tujiaw#include原创 2012-09-29 14:58:54 · 1232 阅读 · 0 评论 -
boost function bind用法
#include #include #include #include using namespace boost;void ShowValue(const std::string &value){ std::cout << "this is value:" << value << std::endl;}class Demo{public:原创 2012-08-19 20:57:59 · 2273 阅读 · 0 评论 -
boost::thread
#include #include #include void hello(){ std::cout << "this is thread" << std::endl;}void name(const std::string& name){ std::cout << "this name is:" << name << std::endl;}原创 2012-09-14 20:53:10 · 1908 阅读 · 1 评论 -
boost::shared_ptr与std::tr1::shared_ptr
从命名空间可以看出一个是boost的,另一个是tr1的,当然tr1也是从boost中移植过来的,在Windows中需要安装vs2008+sp1补丁才能支持。智能指针,它们功能一样,都有引用计数的功能,即智能指针被拷贝后会增加引用计数,这样就不用担心之前的智能指针销毁资源而导致拷贝后的智能指针不能用。// test.cpp : Defines the entry point for the原创 2012-08-19 20:56:36 · 2965 阅读 · 0 评论 -
boost::filesystem获取目录下的所有文件名
#include namespace fs = boost::filesystem;int get_filenames(const std::string& dir, std::vector& filenames){ fs::path path(dir); if (!fs::exists(path)) { return -1; } fs::directory_iterato原创 2012-08-19 22:05:32 · 14233 阅读 · 1 评论 -
boost::asio阻塞等待与异步等待
阻塞等待:这里会等待3秒然后才进行输出。#include #include #include int main(void){ boost::asio::io_service io; boost::asio::deadline_timer timer(io, boost::posix_time::seconds(3)); timer.wait(); std::cout << "原创 2012-08-19 21:33:57 · 8242 阅读 · 0 评论 -
boost daytime client/server
客户端连上服务器后, 服务器会返回一个当前日期时间给客户端。// client.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include #include using boost::asio::ip::t原创 2012-08-19 21:02:29 · 1171 阅读 · 0 评论 -
boost::format, std::stringstream
stringstream完全适用, boost::format感觉代码可读性不好,可能还不习惯吧#include #include #include #include int _tmain(int argc, _TCHAR* argv[]){ std::string str = "sum"; int i = 100, j = 200; std::cout << boo原创 2012-08-19 20:59:16 · 1530 阅读 · 0 评论 -
boost::noncopyable
禁止拷贝有些类我们不希望被拷贝和赋值(如单例模式),这时候只要将其拷贝构造和赋值操作符声明为private即可,boost提供了一种更简洁的写法,只要继承自boost::noncopyable即可。class Widget : boost::noncopyable{};如:Widget w1;Widget w2(w1); // errorWidge原创 2012-08-19 20:55:08 · 1728 阅读 · 0 评论 -
异步操作Timer
Printer构造之后会在后台执行,每秒打印一次,主线程sleep 5秒后停止后台打印#include #include #include #include #include class Printer{public: Printer() : timer_(io_, boost::posix_time::seconds(1)) , count_(0) { tim原创 2013-07-01 23:30:20 · 1319 阅读 · 0 评论