
c++
文章平均质量分 52
遥不可及梦
这个作者很懒,什么都没留下…
展开
-
文章标题
boost库关于获取配置选项需要你连接libboost_program_options库。我的环境是Ubuntu15.04需要安装boost,sudo apt-get install libboost-dev,需要boost_program_options库的时候,需要sudo apt-get install libboost-program-options-dev, 在编译的时候g++ 源文件 -原创 2016-07-11 12:44:28 · 315 阅读 · 0 评论 -
vector基础笔记
vector对象复制部分对象。vector<int> arr1{1, 2, 3, 4, 5, 6}; 1. vector<int> arr2(arr1.begin(), arr1.begin()+4); 2. vector<int> arr2; copy(arr1.begin(), arr1.begin()+4, arr2.begin()); PS:注意点复制的区间都是[),左闭右开原创 2018-04-26 17:34:49 · 220 阅读 · 0 评论 -
c++函数中的值传递以及引用传递
函数参数引用and值传递最近在写函数的时候突然思考的问题。 场景: typedef boost::shared_ptr<CShortcutApproval> CShortcutApprovalPtr void mergePermission( CShortcutApprovalPtr pUserPermission, CShortcutApprovalPtr pMergedPermissio原创 2017-09-20 15:13:41 · 1182 阅读 · 0 评论 -
转C++中static_cast, dynamic_cast, const_cast用法/使用情况及区别解析
首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.14159;ival + dval;//ival被提升为double转载 2017-09-11 09:38:02 · 1163 阅读 · 0 评论 -
VS与boost使用的tips
VS创建的项目,用boost库必须在项目属性。 c/c++=》常规=》附加包含目录,添加boost所在路径链接器=》常规=》附加库目录,添加boost/stage/lib路径。 PS:有一点需要注意,你每创建一个工程都得设置一遍,这对于我这种初学者来说,每次都设置也是一种不小的工作量,所以接下来设置vs创建的默认配置。设置VS创建项目的默认属性。 VS2008:工具=》选项=》vc++目录原创 2017-09-19 09:23:38 · 464 阅读 · 0 评论 -
c++中的内存分配
new和delete我们一般用new和delete在堆上动态的分配和释放内存。 但是我们实际去想过new是如何分配内存的?(至少我没有想) 今天看了一下关于内存分配的知识的。得出了如下结论new的工作原理是这样的,先分配内存,在初始化对象(内置类型用值初始化,类对象用默认构造函数初始化,这里引申一下,若一个类没有默认的构造函数,就无法构造动态的类对象数组),也就是说,new的内存分配和对象初原创 2016-10-16 13:23:12 · 466 阅读 · 0 评论 -
写一个简单String类
先列举一些会用到的知识点strcpy, strcat等字符串操作函数。new和delete对于内存的操作符。对于类的基本概念,拷贝构造,成员运算符的重载。对于这篇博客我只做简单的介绍。关于strcpy函数。函数原型char * strcpy(char *dest, char *src) 作用是将src所指向的内容拷贝到dest所指向的内存中。 需要注意的点 1. src是以NU原创 2016-09-16 16:34:31 · 1113 阅读 · 0 评论 -
c++ primer学习笔记ch01
访问main的返回值。 linux下 echo $? window下 echo %ERRORLEVEL%iostream库 输入输出流,一个流就是字符序列,是从IO设备中读取或写入IO设备。流表达的是随着时间推移,字符是顺序产生和消耗的。 cerr用来警告和错误消息,clog用来输出程序运行中的一般性消息。一个表达式产生一个计算结果,它是由一个或者多个运算对象和(通常)一个运算原创 2016-08-03 10:03:46 · 316 阅读 · 0 评论 -
TCP粘包问题
在TCP协议中,每次发送数据的长度是不确定的,从接受方来看,可能每次接受到的数据都不完整,或者受到多个数据包。这就是粘包问题。 解决方式1:通过应用层的协议来解决粘包问题,每个应用包都带一个包头,包头指示了整个包的长度,当服务器端收到了指定的包长的数据包时,才说明获取了完整的数据包。 解决方式2:指定包的结束方法,一旦获取到指定的标识,说明获取了完整的数据包。asio的异步读接口很容易解决粘包问原创 2016-07-28 16:18:45 · 814 阅读 · 0 评论 -
codeblocks安装boost库
先说一下我的codeblocks的版本13.12 首先我们先去boost官网下载boost的源码 点击右边的download 选择你要下载的版本。 解压(可能会耗费一段时间,小文件比较多) 这里关注一个脚本文件bootstrap.bat(引导程序) 点击它(可能会等待一段时间) 之后就生成这两个可执行文件 我们为了能直观的看到编译boost的细节信息,进入dos w原创 2016-07-28 14:46:48 · 2136 阅读 · 3 评论 -
boost asio学习笔记1--Reactor与Proactor模式
boost asio(异步输入输出) 为什么会想学习asio,起初是想了解c++的网络编程,接着去深入的了解有没有什么实用的网络库,现在网上比较流行的就是ACE, libevent和boost.asio。开始的时候去了解一下ACE,但是明显感觉这是一个重量级的网络通信库,其中有较多的设计模式。相比较而言,libevent和boost.asio相对轻量级一点。libevent是基于Reactor(反原创 2016-07-27 11:41:46 · 4326 阅读 · 0 评论 -
priority_queue用法笔记与Top K Frequent Elements结合
简介priority_queue是有权值的队列。默认使用大根堆来实现。 push() 从队尾插入,经过堆调整至合适的位置。 top() 查看队头数据。 pop() 弹出队头数据。// priority_queue.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <...原创 2018-05-08 12:41:42 · 468 阅读 · 0 评论