E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
boost库
boost库
在工作(18)线程之三
前面的例子里,由于cout输出并不是多线程安全的,如果多个线程同时输出,可能导致死锁的出现,因此在那个函数添加了一个boost::mutex锁,以便同步多个输出的线程,这样就不会造成死锁了。在这个函数里,还使用一个类boost::lock_guard,这个类是一个自动锁的类,所谓的自动锁,就是在构造函数里调用上锁函数,在析造函数里调用解锁函数,这样在这个类boost::lock_guard声明的对
caimouse
·
2013-03-31 11:00
boost库
在工作(17)线程之二
前面的例子,还是过于简单,只能学会使用一个线程来调用一个函数来运行。接着下来,我们提高一点要求,使用两个或两个以上的线程来运行同一个函数。多个线程运行同一个函数,其实就是线程池的概念,因为一个线程只能在一个CPU在里运行,如果有四个CPU,那么最高效率就是有八个线程运行,一般来说是CPU的个数的两倍是最高效率的线程模型。因此,我们开发的软件会在不同的客户电脑上运行,不同的客户那里的电脑配置又不一样
caimouse
·
2013-03-30 22:00
C++ 11 和 STL 和 Boost
http://slashdot.org/topic/bi/comparing-the-c-standard-and-boost/原文作者试图回答这样的问题:“C++开发社区应该坚守标准,还是选择更好的
Boost
iefreer
·
2013-03-28 19:00
C++
STL
boost
Typelist 笔记
今天转移到
boost库
去了,这是昨天的笔记。[cpp] viewplaincopy#include "stdafx
pi9nc
·
2013-03-28 15:00
C++&&算法&&设计模式
Boost1.53在vs2008下的配置
准备工作编译
boost库
之前,需要做一些准备工作。下载一些OpenSource的包,来支持boost特定库的需要。 1.ICUICU提供了unicode和国际化支持,目前的版本是4.8.1。
pi9nc
·
2013-03-28 14:00
boost::function 用来注册函数(switch N多case的解决方案)
正好项目中使用了
boost库
,结果老大给了个解决方案:typedefboost::functionTypeOnUseItemHandler;//回调函数返回void参数一个是lo
jcracker
·
2013-03-28 12:00
关于
Boost库
的split函数在不同的编译器下的使用
由于在代码中使用了大量的
boost库
,按理说是应该没有问题的。但是今天出现了一个很奇怪的问题,boost的split函数编译不过去。比如下面的代码片段。
liminlu0314
·
2013-03-25 21:00
C++ 字符串分割 (HDUOJ 2072)
1.C++的
boost库
里有直接的分割函数split,可以将字符串按照指定的分割规则分割成字符串数组,类似Java。
perfumekristy
·
2013-03-25 10:00
boost库
在工作(16)线程之一
学习线程,得先了解线程是什么,线程就是程序执行中运行的最小单元,其实它就是一种轻量的进程,运行的效果跟进程一样,但它的创建和删除比进程要快得多。在现代的操作系统里,都是以线程作为最小的调度单位。在任何一个程序里,都至少有一个线程在运行的,如果没有线程,这个程序是没有办法执行起来。因此,线程就相当汽车里的发动机,如果汽车没有发动机,就没有动力输出,也就没有办法跑起来。因而,线程也与发动机一样是重要,
caimouse
·
2013-03-24 19:00
软件架构设计之Utility模块——Any
这里采用的是
boost库
中的Any实现原理,增加了两个Any之间比较的功能。
backo880607
·
2013-03-23 17:00
C++
架构
设计
泛型编程
any
Boost学习笔记(2)
Boost库
的加载详解通常情况下,
Boost库
是可以直接使用的,你只需要包含其相应的.hpp文件就行了。原因是这些文件中已经给出了具体算法的实现。但,这样不能使用所有的
Boost库
。
nostopstep
·
2013-03-22 14:00
编程
auto_ptr
auto_ptr是当前C++标准库中提供的一种智能指针,或许相对于
boost库
提供的一系列眼花缭乱的智能指针,或许相对于Loki中那个无所不包的智能指针,这个不怎么智能的智能指针难免会黯然失色。
jisuanji2121
·
2013-03-21 17:00
利用C++模板,代替虚函数实现类的静态多态性及动态继承
近期在学
boost库
时偶然碰到了这个技巧,同时在写一个类时引发了我的
Nancy_m
·
2013-03-19 14:00
使用android ndk编译
boost库
由于以往我写过不少使用
boost库
开发的项目,而最近准备移植一些代码到android上(上层界面以及jni层我不管,也没研究过,现在只完成代码的移植编译,具体如何调用,由其它人负责),所以先要解决的就是
jwybobo2007
·
2013-03-19 09:00
boost库
在工作(15)绑定器与函数对象之三
这时就需要使用
boost库
里强大的绑定器bind了。它不仅适用的情况比STL库里的多,还更加方便,更加人性化。下面就来看看怎么样绑定三个参数的类成员函数
caimouse
·
2013-03-17 09:00
毁三观的C++:牛逼碉堡的lambda
大家都知道java和C#有foreach这个命令吧,这个命令十分好用foreach(单个元素itin容器){每个元素的操作;}昨天看了
boost库
的lambda和一些博客,瞬间毁掉我对C++的看法,原来用了
lpsl1882
·
2013-03-13 13:00
c++
boost库
正则表达式的一些经验
首先,我的匹配设置为://忽略大小写regexexpression(str_pattern, boost::regbase::normal|boost::regbase::icase);如果要匹配的字符串当中含有双引号比如:acp"abc"dgg,在c++当中写法如下:stringaa="acp\"abc\"dgg"; 要提取当中的abc,那么pattern应该怎么写呢?找规律发现只要这样写就行:
sonikk
·
2013-03-13 09:00
C++
regex
boost
boost库
在工作(14)绑定器与函数对象之二
在STL库里使用算法for_each可以实现容器里每个元素都进行运算的操作,但for_each要求函数对象只能接收一个参数,如果需要传入两个函数时,就需要使用绑定器了。下面设想有这么一个需求,学校里老师给软件开发人员提了一个需求,要求把学生的数学成绩计算平均分,最后还需要计算每个人成绩跟平均分的差距,以便让每个学生看到自己成绩的好与坏。面对这个需求,就可以使用STL里的算法实现如下://使用bin
caimouse
·
2013-03-11 21:00
link 和 runtime-link,搭配shared 和 static
boost库
在
yasi_xi
·
2013-03-11 19:00
VS2010下安装
boost库
1.去www.boost.org下载最新的boost,我下载了boost_1_46_1.7z2.(我放在D:/cpp目录下)解压到当前文件夹3.打开VS2010->VSTOOLS->VS命令提示4.CDD:/cpp/boost_1_46_1 5.输入bootstrap,便生成bjam.exe文件6.输入bjamtoolset=msvc-10.0variant=debug,releasethread
jxgxy
·
2013-03-11 17:00
boost库
在工作(13)绑定器与函数对象之一
有一天,有一个同事过来问我,有没有办法把两个参数变成一个参数,然后传送给STL的算法模板使用。我想了一下,要把两个参数变成一个参数,只有一个办法,就是使用绑定器。其实绑定器就是把两个或两个以上的参数变成一个参数,也就是变成函数对象的方式。在STL模板库里提供两个绑定器:bind1st和bind2nd,这两个绑定器只支持两个参数,如果是两个以上的参数,就无能为力了。下面先来看看这两个绑定器的使用例子
caimouse
·
2013-03-08 21:00
boost库
学习总结
第一次使用
boost库
是因为网络编程,由于时间比较紧,没有时间每个库都学,所以前期想找个专门的
boost库
网络教程(以前自己就用过socket写过,但是为了跨平台,而且
boost库
这么好,还是趁早学吧)
xujiezhige
·
2013-03-08 20:00
boost库
之error LINK1104 sgd(转)
目前
BOOST库
在使用时的链接会默认选择静态链接方式。
c353901475
·
2013-03-08 09:00
error C2440: 'initializing' : cannot convert from 'boost::filesystem3::path' to 'std::basic_string
把一个在linux下的程序移植到windows下,在代码中使用到了
boost库
,运行后出现如下的错误:boost::filesystem::directory_iteratordirItr(m_path
hamigua_12
·
2013-03-06 09:29
c/c++基础
计算机视觉
boost 1.40 编译
第一步:下载
boost库
,解压,假设在D盘下第二步:进入vs2008命令提示第三步:cd到d:/boost_1_39_0/boost_1_39_0/tools/jam目录,执行build_dist,会在
blizmax6
·
2013-03-05 18:00
0 导读 取乎其下,得乎其中;取乎其中,得乎其下;取乎其下,则无所得矣
网站读得经验两条:称为C++的准标库的
Boost库
。对于C++学习,建议大家经常去看一些科技网站,关注一些C++的开源库,这样很多时候就避免了重复发明轮子的过程。
licui94
·
2013-03-05 11:00
C++
C++
effective
学习c++
C++总结
c++库之
boost库
Boost库
很不错,所以我今天就安了它一下下。
L_yangliu
·
2013-03-04 17:00
boost库
在工作(12)引用计数的智能指针intrusive_ptr
当我们在维护旧代码时,很多情况是身不由己的,想从头来开发,又需要时间过多,投入成本过多,老板当然不愿意。想继续使用旧的代码,又需要投入过多的维护成本。要想在这种情况下,提高代码的维护性,又减少出错,因而想引入智能指针管理。比如已经存在引用计数的对象时,如果再想使用智能指针shared_ptr来管理,显然达不目标了,那么怎么办呢?就这样放弃智能指针的使用吗?显然不行,有没有更好的方法呢?在boost
caimouse
·
2013-03-03 18:00
Boost库
编译后命名方式
以libboost_regex-vc71-mt-d-1_34.lib为例:lib前缀:除了MicrosoftWindows之外,每一个
Boost库
的名字都以此字符串开始。
zxh2075
·
2013-02-27 10:00
boost库
安装
Boost库
是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。
Boost库
由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。
wind19
·
2013-02-27 10:00
Scribe快速安装方法
上一篇了解了scribe的源码安装法,在安装过程中
boost库
和后面的scribe在安装时出现多次的库依赖问题,为了更快速的部署scribe,打算boost采用apt安装(只要版本大于1.33即可
China_OS
·
2013-02-25 19:00
Scribe快速安装方法
boost库
在工作(11)引用计数的智能指针weak_ptr
由于
boost库
里的shared_ptr采用引用计数的技术,这个技术天生就存在一个缺陷,就是不能存在循环引用的情况,因为这个缺点,引用计数的技术一直没有用到垃圾回收的算法里。
caimouse
·
2013-02-24 21:00
VS2010编译mysql-connector-c++
只用VS2010编译mysql-connector-c++ 0准备: 1)安装mysql服务器 2)安装
boost库
3)下载并解压mysql-connect
liuyan4794
·
2013-02-23 11:00
boost库
在工作(10)引用计数的智能指针shared_array
在共享指针里,有时也需要共享一个缓冲区,比如从网络收到数据,需要先放到缓冲区里,接着把这些数据发送给处理线程进行解包和处理。在这里就需要使用到两个线程里共享缓冲区的问题,因此比较好的解决方案,就采用引用计数的智能指针shared_array来解决,最为合适不过了。shared_array与shared_ptr具有相同的形式,使用和注意点也是相似的。具体的使用的例子如下://boost_005.cp
caimouse
·
2013-02-22 21:00
android 编译boost动态库
有个android项目上需要使用到boost标准c++库,
Boost库
是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一,所以想将其移植到android系统上进行编译。
andyhuabing
·
2013-02-20 15:00
基于协程的并发框架orchid简介
orchid是一个构建于
boost库
基础上的C++库,类似于python下的gevent/eventlet,为用户提供基于协程的并发模型。
江浸月
·
2013-02-19 23:00
C++
并发
网络编程
高性能
协程
boost库
在工作(9)引用计数的智能指针shared_ptr之二
接着下来,需要演示一下怎么样在多个对象里共享一个对象,而不管每个对象的生命周期,就可以及时地把使用的对象在合适地方删除。下面的例子里先定义两个类,然后每个类都引用共享的对象,接着使用完成后,就会在析构函数里删除,可以从例子程序运行的输出结果看到内部运行的生命周期。有了共享智能指针,面对多个对象共享使用一个对象,这样的管理会方便很多。具体代码如下://在两个对象之间共享使用shared_ptr //
caimouse
·
2013-02-19 20:00
[Boost]_[使用
boost库
的正则匹配模块替换字符串]
--
boost库
里的dll都是可以单独使用的。
infoworld
·
2013-02-18 11:00
C++
regex
boost
编译
BOOST库
(Visual Studio 2010/GCC)
Windows 7 64bit和Visual Studio 2010下安装及使用Boost 1.47.0
Boost库
是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一
StanfordZhang
·
2013-02-18 11:00
boost库
在工作(8)引用计数的智能指针shared_ptr之一
在前面已经介绍了三个智能指针,它们都是适合在局部作用域,不进行拷贝的情况下使用,最为合适,如果使用到其它情况,使用的好处跟坏处一样多,这种情况就不宜使用了。在目前多核处理器流行的今天,并发处理已经成为常事,因为多线程运行的高效性,界面操作人性化方面,都需要并发性处理。比如界面需要一直响应用户的操作,但后台的任务又需要有序地进行,只能阻塞在那里。这时,如果使用单线程,就显然人机操作界面不好了。在采用
caimouse
·
2013-02-17 13:00
开源网站
提高:STLBoost和STLACE
Boost库
是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。
lanshengsheng
·
2013-02-16 15:00
ubuntu 下code blocks 安装全过程 && codeblocks 快捷键 && 解决调试终端不能粘贴问题
ubuntu下codeblocks安装全过程 &&codeblocks快捷键&&解决调试终端不能粘贴问题(一)安装步骤:1.先把编译环境,C库、C++库和
Boost库
装好,如下:sudoapt-getinstallbuild-essential
liuqiyao_01
·
2013-02-14 16:00
安装
快捷键
codeblocks
ubuntu
全过程
vs 2010 如何用boost计算文件的crc值
vs2010如何用boost计算文件的crc值1.首先从官网下载
boost库
,http://nchc.dl.sourceforge.net/project/boost/boost/1.53.0/boost
alantop's blog
·
2013-02-13 03:00
Linux下
boost库
的安装
最近由于编译一个程序用到了C++的
boost库
,所以便安装了这个库。但是,其中遇到了一些小问题。所以记录下来,以供别人参考。
nyc1991
·
2013-02-11 14:00
linux
安装
boost
linux系统
boost库
在工作(7)使用数组智能指针scoped_array
学习过C++的开发人员,都知道在C++里数组指针与一般的指针是有区别的。比如使用数组形式分配的内存,就需要使用数组的形式删除。但初学开发的开发人员,往往会忘记这点,在我过去10多年的软件代码审查过程里,经常发现这点,如下面所示:char* pBuf=newchar[256];......这里使用deletepBuf; 在最后这行代码上,就使用出错了。应该使用数组的形式删除,否则只删除了一个元素占用
caimouse
·
2013-02-07 21:00
boost库
在工作(6)作用域智能指针scoped_ptr之五
通过前面智能指针的学习,应了解到std::auto_ptr的使用和局限性,从而引发
boost库
针对这些情况提供了更多的智能指针,其中scoped_ptr就是针对std::auto_ptr的而提供的。
caimouse
·
2013-02-05 20:00
boost库
在工作(5)作用域智能指针scoped_ptr之四
第二种情况,主要就是使用在调用异常抛出的函数的地方。如下面的例子://异常抛出的函数,适合使用智能指针。 //软件开发人员:蔡军生2013-02-03 voidThrowFun(void) { if(1) { throw"TestThrow!"; } } voidTestCallThrow(void) { std::auto_ptrnVal(newint); ThrowFun();//这里抛出
caimouse
·
2013-02-04 21:00
boost库
在工作(4)作用域智能指针scoped_ptr之三
标准模板库里的智能指针std::auto_ptr,一般情况下,只适合在函数中使用,当离开这个函数时,就可以自动删除分配的资源。典型的情况有两种,一种是当一个函数代码比较多,判断条件很多,这样出口很多。另一种就是带有异常机制的代码,因为异常没有抛出来之前,没有办法确定那行代码会突然间就退出来,这种情况下对资源管理,会给软件开发人员带来很大的压力,即使很有经验的开发人员,也有点防不防的,会花大量的时间
caimouse
·
2013-02-03 11:00
boost库
在工作(3)作用域智能指针scoped_ptr之二
智能指针的原理,其实就是利用C++的一个特性,当对象创建时,一定会调用构造函数;当对象离开作用域时,会自动调用析构函数。由于这两个函数的调用都是由编译器来生成的,不用怕不调用的危险,达到安全删除的目的。当然,智能指针使用了一个对象的构造和析构,显示增加了一些开销,但比起垃圾回收机制来说,是非常小的,基本可以忽略不计。 既然智能指针已经有这么多优点,迫不及待了吧,怎么样使用呢?下面就先来看看std:
caimouse
·
2013-02-02 23:00
boost库
在工作(2)作用域智能指针scoped_ptr之一
很久远以前,丹尼斯.里奇发明了C语言,这个语言有一个优点,就是可以动态地分配内存。当需要使用内存时,就可以立即向系统申请。当不需要时,又可以立即释放回给系统,再给别的程序使用。这种动态的内存管理,使得当时以K计算的内存时代,也可以处理很大数据量的软件出现。但这中使用函数malloc来分配内存,使用函数free来释放内存的机制,一直到今天,还在使用。不过,这种方式有一个缺点,就是当你不断地使用函数m
caimouse
·
2013-02-01 23:00
上一页
33
34
35
36
37
38
39
40
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他