Processing math: 100%

随笔分类 -  C++

摘要:1.BOOST_FOREACH经常会遍历容器,写for/while循环到手痛,使用BOOST_FOREACH可以减少我们的工作。支持容器vector/list/set/deque/stack/queue#include BOOST_FOREACH(value,container){//遍历每个元素}... 阅读全文
posted @ 2014-05-12 10:21 春文秋武 阅读(153) 评论(0) 推荐(0) 编辑
摘要:一直觉得没写的必要,但还是记一下吧。太书面化记不住,就简单些下。类型转换分为隐式类型转换和强制类型转换。隐式类型转换是编译器自动执行,无需程序员介入。如下://算术转换double b = 5 + 3;//条件表达式int val = 0;if (val)......强制转换就是要在代码中写明的转换... 阅读全文
posted @ 2014-01-15 16:08 春文秋武 阅读(129) 评论(0) 推荐(0) 编辑
摘要:在服务开发过程中,常常需要单例来保存全局资源,本文给出一个实用的实现方案。 使用: 阅读全文
posted @ 2013-12-18 17:23 春文秋武 阅读(119) 评论(0) 推荐(0) 编辑
摘要:多线程下,常常会使用互斥锁或者读写锁来确保临界区的正确使用。pthread_mutex_lock(&mutex);//using critical sectionpthread_mutex_unlock(&mutex);如果在使用临界区期间发生异常返回,导致锁没有释放。为了防止这种现象发生,我们通常... 阅读全文
posted @ 2013-12-18 17:08 春文秋武 阅读(261) 评论(0) 推荐(0) 编辑
摘要:动态链接库(.so)可以让程序在运行时被加载,当so修改时,使用程序不需要重新编译就可以使用。本文介绍几个函数,讲述so的加载和方法调用。void * dlopen( const char * pathname, int mode);以指定模式打开某动态链接库文件,返回句柄。模式有:RTLD_LAZ... 阅读全文
posted @ 2013-09-06 17:46 春文秋武 阅读(225) 评论(0) 推荐(0) 编辑
摘要:GCC(GNU Compiler Collection,GNU编译器集合),是一套由 GNU 开发的编程语言编译器。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,现在已可处理C、C++、 Fortran、Pas... 阅读全文
posted @ 2013-05-10 11:12 春文秋武 阅读(145) 评论(0) 推荐(0) 编辑
摘要:内存分区一个由C/C++编译的程序占用的内存分为以下几个部分栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆区(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是... 阅读全文
posted @ 2013-05-10 10:24 春文秋武 阅读(189) 评论(0) 推荐(0) 编辑
摘要:boost thread库提供了三种级别的锁:boost::shared_lock(读锁),boost::upgrade_lock(和读锁不互斥,与写锁、upgrade_loc互斥),boost::unique_loc(写锁)五种互斥变量:mutex:独占式互斥量shared_mutex: 读共享/... 阅读全文
posted @ 2013-04-27 16:59 春文秋武 阅读(514) 评论(0) 推荐(0) 编辑
摘要:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol Buffers 是... 阅读全文
posted @ 2013-03-27 14:27 春文秋武 阅读(224) 评论(0) 推荐(0) 编辑
摘要:log4cplus is a simple to use C++ logging API providing thread-safe, flexible, and arbitrarily granular control over log management and configuration. ... 阅读全文
posted @ 2013-02-06 18:09 春文秋武 阅读(314) 评论(0) 推荐(0) 编辑
摘要:Boost Multi-index Containers Library定义了multi_index_container模板类,可以从不同的维度建索引、排序和存取。如上图,容器multi_index_container分别从shape,number和sequenced(默认插入的顺序)三个维度对元素... 阅读全文
posted @ 2013-01-08 18:41 春文秋武 阅读(842) 评论(0) 推荐(0) 编辑
摘要:time.h(ctime)是c time library,定义了获取和操作日期和时间的函数。1. 结构typedef long time_t;time_t是长整型,表示的是距(1970年,1月1日08:00:00)的秒数,常常通过time函数获得。struct tm {int tm_sec; //秒... 阅读全文
posted @ 2013-01-04 11:48 春文秋武 阅读(1431) 评论(0) 推荐(0) 编辑
摘要:jwSMTP是用于发送邮件的C++库,支持附件、多接收者,抄送等功能。下载地址jwSMTP.1.安装tar, ./configure配置安装路径,make, make install。2.使用#include jwsmtp::mailer mail_;mail_.setsender(from_);m... 阅读全文
posted @ 2012-12-07 10:01 春文秋武 阅读(218) 评论(0) 推荐(0) 编辑
摘要:1.LD_LIBRARY_PATHlinux的环境变量,用于指明除默认路径外的查找共享库(so,动态链接库)的路径。该路径在默认路径前查找。export LD_LIBRARY_PATH=ICEHOME/lib:.:HOME/lib当运行目标程序报如下错误时,就可以考虑使用LD_LIBRARY_... 阅读全文
posted @ 2012-12-06 10:35 春文秋武 阅读(159) 评论(0) 推荐(0) 编辑
摘要:int system(const char* command)调用系统命令执行command。如果command为空,返回处理器是否可用(0不可用)。使用例子#include //or #include system("dir");这提供了与系统交互的接口,方便我们使用shell命令。本人访问一个... 阅读全文
posted @ 2012-12-06 09:59 春文秋武 阅读(254) 评论(0) 推荐(0) 编辑
摘要:curl在linux下是一个传输数据工具,可以向服务端提交或获取数据。支持HTTP/HTTPS/FTP/FTPS/TFTP/DICT/TELNET/LDAP/FILE,提供代理、用户验证、ftp上传、SSL连接等功能。curl的传输功能都有libcurl具体实现。其具体命令行操作可以man curl... 阅读全文
posted @ 2012-10-29 13:47 春文秋武 阅读(529) 评论(0) 推荐(0) 编辑
摘要:template binder2nd bind2nd (const Operation& op, const T& x);bind2nd是一个函数配接器,目的是将二元仿函数转换为一元仿函数,可以将第二参数传给第一参数(二元仿函数),作为二元仿函数的第二参数。常用于泛型算法中的谓词出现。使用1.#in... 阅读全文
posted @ 2012-10-10 14:55 春文秋武 阅读(344) 评论(0) 推荐(0) 编辑
摘要:IceUtil中提供了Timer和TimerTask来实现定时计算。Timer可以定时或重复执行TimerTask。class Timer : /* ... */ {public: Timer(); void schedule(const TimerTaskPtr& task, ... 阅读全文
posted @ 2012-09-28 14:59 春文秋武 阅读(459) 评论(0) 推荐(0) 编辑
摘要:直接上代码 switch (i) { case 0: int m=5; break; case 1: break; default: break; }编译通不过test8.cpp:20: 错误:跳转至 case 标号test8.cpp:1... 阅读全文
posted @ 2012-09-26 14:27 春文秋武 阅读(430) 评论(0) 推荐(0) 编辑
摘要:boost是对STL的补充,regex是其中一个模块。各方法类别很多,本文记录常用方法。引入头文件1. regex_match regex reg("\\d{3}"); string str = "123"; bool b = regex_match(str,reg);2.regex_repl... 阅读全文
posted @ 2012-09-19 19:16 春文秋武 阅读(1554) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示