自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (5)
  • 收藏
  • 关注

转载 信号和槽机制

转自(稍作修改):http://devbean.blog.51cto.com/448512/193918信号/槽机制信号槽机制是Qt编程的基础。通过信号槽,能够使Qt各组件在不知道对方的情形下能够相互通讯。这就将类之间的关系做了最大程度的解耦。 槽函数和普通的C++成员函数没有很大的区别。如果要说区别,那就是,槽函数可以和一个信号相连接,当这个信号发生时,它可以被自动调用。connect语句con

2016-07-28 10:29:47 396

转载 MainWindow

转自(稍作修改):http://devbean.blog.51cto.com/448512/193918Qt的GUI程序也有一个常用的顶层窗口,叫做MainWindow。difference between Dialog and widget and QMainWindowA widget is an object that can be displayed on the screen. For

2016-07-28 10:29:17 1147

转载 find-dialog

转自(稍作修改):http://devbean.blog.51cto.com/448512/193918查找对话框首先新建一个工程,就叫FindDialog! 当然还是Qt Gui Application,然后最后一步注意,Base Dialog选择QDialog,而不是默认的QMainWindow,因为我建立对话框,名字就叫finddialog,Ganarate form还是不要的。然后Fini

2016-07-28 10:28:37 1175 1

转载 Qt简介

转自(稍作修改):http://devbean.blog.51cto.com/448512/193918简介Qt是一个著名的C++库——或许并不能说这只是一个GUI库,因为Qt十分庞大,并不仅仅是GUI。使用Qt,在一定程序上你获得的是一个“一站式”的服务:不再需要研究STL,不再需要C++的,因为Qt有它自己的QString等等。或许这样说很偏激,但Qt确实是一个“伟大的C++库”。 我们所使用

2016-07-28 10:26:48 546

原创 文章标题

ifconfig命令windows中的ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。 Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信

2016-07-25 00:55:45 306

转载 Libevent学习:介绍与安装

参考: 官网:http://libevent.org http://blog.csdn.net/sparkliang/article/details/4957667 http://blog.csdn.net/majianfei1023/article/details/464857051. Libevent简介Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚。Libeven

2016-07-22 10:30:03 791

转载 如何定位内存泄漏?

1. 什么是内存泄漏 内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的、大小任意的(内存块的大小可以在程序运行期决定)、使用完后必须显示释放的内存。应用程序一般使用malloc、realloc、new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块。否则,这块内存就不能被再次使用,造成这块内存泄漏。2. 内存泄漏的检测C++程序缺乏相应的手段

2016-07-20 11:43:52 7302

原创 C++11:随机数库

#include <iostream>#include <string>#include <ctime>using namespace std;#include <random>int main(){ //C库的随机数 srand((unsigned)time(0)); //使用时间作为种子,初始化随机数 for (int i = 0; i < 10; i++){

2016-07-19 00:39:24 483

原创 boost::asio 的daytime客户端和服务器实例

1. 服务器端server.h#include <boost/asio.hpp>#include <boost/array.hpp>using boost::asio::ip::tcp;using namespace boost::asio;#include <memory>#include <utility>#include <vector>#include <ctime>#incl

2016-07-18 01:12:53 846

原创 C++ 常用泛型算法的使用

#include <algorithm>#include <numeric>#include <iterator>#include <vector>#include <iostream>#include <functional>using namespace std;//template<typename T>void printing(const vector<int> &vec){

2016-07-17 17:32:33 1081

原创 protobuf反射机制

参考: https://xiongjun.info/2016/02/16/mqueue4/ http://blog.csdn.net/solstice/article/details/63001081. 网络编程中使用protobuf的两个问题Google Protocol Buffers (Protobuf) 是一款非常优秀的库,它定义了一种紧凑的可扩展二进制消息格式,特别适合网络数据传输。它

2016-07-17 11:08:43 2930

原创 Protobuf简单例子

可参考Protobuf的官网例子: https://developers.google.com/protocol-buffers/docs/cpptutorial第一步:设计Person对象的proto文件(person.proto),Protobuf编译器利用它生成C++文件(person.pb.h、person.pb.cc)person.proto 文件package Test; mess

2016-07-16 23:09:16 3494

原创 boost::asio名字空间中的deadline_time类:定时器

定时器是asio库中最简单的一个IO模型,提供等候时间终止的功能。定时器功能的主要类是:deadline_timer类,类摘要如下使用定时器时的头文件:#include <boost/asio.hpp>#include <boost/date_time/posix_time/posix_time.hpp>using namespace boost::asio;1. 同步定时器//同步定时器的用

2016-07-16 17:21:23 990

原创 Boost log库的使用

1. Boost的log库最简单的用法#include <boost/log/trivial.hpp>void log_test(){ BOOST_LOG_TRIVIAL(trace) << "A trace severity message"; BOOST_LOG_TRIVIAL(debug) << "A debug severity message"; BOOST_LO

2016-07-16 11:23:37 883

原创 条件变量实例:生产者-消费者模式的后进先出型(std::stack)缓冲区

综合应用boost::thread库(thread, mutex, condition_variable_any)实现的 生产者-消费者模式 后进先出型(std::stack)缓冲区 stack可以经过轻微修改使用队列替换。#include <boost/thread.hpp>using namespace boost;#include <stack>#include <iostr

2016-07-16 01:04:43 674

原创 boost::thread库 并发编程

所在文件和命名空间:#include <boost/thread.hpp>using namespace boost;1. 时间功能多线程编程经常要用到超时处理,需要表示时间的概念,thread库直接利用date_tiem库提供对时间的支持。this_thread::sleep(posix_time::seconds(2)); //当前线程睡眠两秒//this_thread是thread的子命

2016-07-15 10:26:39 3171

原创 boost::signal2 信号/插槽(线程安全的观察者模式)

signals2基于Boost的另一个库signals,实现了线程安全的观察者模式。在signals2中,观察者模式被称为信号/插槽(signals and slots),它是一种函数回调机制,一个信号关联了多个插槽,当信号发出时,所有关联它的插槽都会被调用。signals2位于名字空间 boost::signals2 ,头文件<boost/signals2.hpp>,即:#include <bo

2016-07-15 10:25:12 6700

原创 boost::filesystem 库(文件系统)

filesystem 库是一个可移植的文件按系统操作库。可以跨平台操作目录、文件等。#include <boost/filesystem.hpp>using namespace boost::filesystem;#include <iostream>using namespace std;void os_test(){ path p1("./a_dir"); cout <<

2016-07-14 17:44:52 847

原创 boost::program_options 解析命令行参数

提供强大的命令行参数处理功能,不仅能够分析命令行,也能够从配置文件和环境变量中获取参数,实现了分出完善的程序配置选项处理功能。program_options 库的解析程序选项功能由三个基本组件构成:选项描述器:定义选项和选项的值分析器:依据选项描述器的定义解析命令行参数或者数据文件存储器:把分析器的结果保存起来共程序使用boost::options 库的使用实例:#include <boo

2016-07-14 16:51:54 2169

原创 Boost 实用工具:noncopyable、BOOST_BINARY宏、BOOST_CURRENT_FUNCTION宏、bitset类型

1. boost::noncopyable位于<boost/noncopyable.hpp>中2. BOOST_BINARY宏位于<boost/utility/binary.hpp>中3. BOOST_CURRENT_FUNCTION宏位于<boost/current_function.hpp>中 与其类似的还有__FILE__ //所在文件__LINE__ //所在行号__FUNCITO

2016-07-14 10:08:38 1071

原创 C++11:lambda表达式、bind函数、function类型

#include <iostream>#include <string>using namespace std;//lambda表达式:表示一个可调用单元,理解为一个未命名的内联函数。//[capture list] (parameter list) -> return type { function body }void lambda_test(){ //可以忽略参数列表和返回类

2016-07-13 15:49:09 760

原创 c++11:正则表达式(re)

//#include <boost/regex.hpp>//using namespace boost;#include <regex>#include <string>#include <iostream>using namespace std;void regex_test(){ string pattern("[^c]ei"); pattern = "[[:alph

2016-07-13 14:33:32 1084

转载 并查集算法-动态连通性

介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。动态连通性的应用场景: 网络连接判断: 如果每个pair中的两个整数分别代表一个网络节点,那么该pair就是用来表示这两个节点是需要连通的。那么为所有的pairs建立了动态连通图后,就能够尽可能少的减少布线的需要,因为已经连通的两个节点会被直接忽略掉。并查集(Union-Find)算法介绍 htt

2016-07-13 10:49:36 520

原创 ubuntu安装protocol buffer

protocol buffers:(1) 在 https://developers.google.com/protocol-buffers/docs/downloads 下载protobuf-2.6.1.tar.gz(2) 解压(3) cd protobuf-2.6.1(4) ./configure(5) make make check make install (6) 添加到libvi

2016-07-08 13:15:21 2469

原创 Boost 内存管理(smart_ptr库,pool库)

1. RAII机制为了管理内存等资源,C++程序员通常采用RAII机制(资源获取即初始化,Resource Acquisition Is Initialization),在使用资源的类的构造函数中申请资源,然后使用,最后在析构函数中释放资源。 1. 在栈上创建对象(局部对象):RAII机制正常工作,当离开作用域时,对象会自动销毁从而调用析构函数释放资源 2. 在堆上创建对象,使用new操

2016-07-07 15:32:24 435

Visual_Assist_X

该助手适用于VS2013和VS2012等最新vs编译器,方便使用,破解版。

2016-01-15

深度探索C++对象模型

这本书探索“对象导向程序所支持的C++对象模型”下的程序行为。对于“对象导向性质之基础实现技术”以及“各种性质背后的隐含利益交换”提供一个清楚的认识。检验由程序变形所带来的效率冲击。提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。

2015-11-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除