C++编程
文章平均质量分 71
老朕
这个作者很懒,什么都没留下…
展开
-
set_、set_allocated_、mutable_、add_的使用
自己定义的复杂嵌套消息不能够通过简单的set_来赋值,可采取set_allocated和mutable_两种方式,但是二者的赋值方式是不同的。使用set_allocated_,赋值的对象需要new出来,不能用局部的,因为这里用的的是对象的指针。使用mutable_,赋值时候,可以使用局部变量,因为在调用的时,内部做了new操作。带有repeated字段的消息,通过add_依次赋值。简单的消息内容直接用set_来赋值就行。1.简单(非嵌套)消息内容的赋值。2.嵌套消息内容的赋值。3.重复消息内容的赋值。转载 2022-11-30 16:49:56 · 664 阅读 · 1 评论 -
boost::serialization::singleton
serialization library只有在很少的地方用到muteable实例,并且也没有调用main修改该实例的值,线程锁机制是很容易被引用进来防止竞争的现象的,但是serialization library没有用到这种机制,所以就没有实现县城锁的机制。使用singleton,T必须有默认的构造函数,它并不需要包含静态变量(可能该类包含静态变量),因为该库保证只有一个singleton的实例,并且所有访问通过以上的静态接口,T的公共成员函数等价于静态函数。存储基类和派生类的关系的表。转载 2022-11-29 15:18:08 · 249 阅读 · 0 评论 -
boost::serialization::singleton单例的使用方式
class CDerived:public boost::serialization::singleton // 只允许单个实例,不能复制、赋值(基类派生自boost::noncopyable)// static先调用由boost提供的get_mutable_instance()(或get_const_instance())再调用成员函数的方式。#define sCTest_const singleton_ctest::get_const_instance() // const实例。转载 2022-11-29 14:37:08 · 369 阅读 · 0 评论 -
linux时间的一些函数总结
time函数只能得到秒精度的时间,为了获得更高精度的时间戳,需要其他函数。gettimeofday函数可以获得微秒精度的时间戳,用结构体timeval来保存;clock_gettime函数可以获得纳秒精度的时间戳,用结构体timespec来保存。time返回当前时间的时间戳,也就是从世界时到现在的秒数;clock_id有多个选择,当选择为CLOCK_REALTIME时与time的功能相似,但是时间精度更高。3、秒,毫秒,微秒,纳秒实现接口。原创 2022-11-22 17:18:15 · 575 阅读 · 0 评论 -
linux上获取时间的性能评估
{}{}{}};int main(){{++i)}{++i);}{++i);}{++i)}}两次测试结果为(MAX_COUNT不同):原创 2022-11-22 17:09:17 · 371 阅读 · 0 评论 -
VS2010下安装boost库
VS2010下安装boost库1.去www.boost.org下载最新的boost,我下载了boost_1_46_1.7z2.(我放在D:/cpp目录下)解压到当前文件夹3.打开VS2010->VS TOOLS->VS命令提示4.CD D:/cpp/boost_1_46_1 5.输入bootstrap,便生成bjam.exe文件6.输入bjam toolse原创 2015-04-23 16:00:28 · 385 阅读 · 0 评论 -
C++与STL的一些总结
1、不能作为类的成员的是自身类对象,可以作为类的成员的是自身类对象的指针,自身类对象的引用。2、下列程序的输出结果是10,20,30#include void main(){int n[][3] = {10,20,30,40,50,60};int (*p)[3];p = n;cout }3、定义类的动态对象数组时,系统只能够自动调用该类的无参构造函数对其进行原创 2015-04-09 10:46:23 · 2286 阅读 · 0 评论 -
STL源码解析-01stl配置文件
******************************************************* * stl 模板的说明及congfig文件解析 * stl的六大组建: * 容器:vector,list * 算法:algorithm头文件中 * 仿函数:和普通函数使用方式一样,在算法中用的较多 * 迭代器:采用前闭后开区间 * 配接器:stack原创 2015-05-27 14:10:30 · 465 阅读 · 0 评论 -
string字符串分割
字符串分割原创 2016-06-15 09:46:17 · 1180 阅读 · 0 评论 -
VS2012中编译openssl的步骤和使用设置
根据上面朋友网站做修改,测试成功通过。原创 2017-03-28 10:55:53 · 894 阅读 · 0 评论 -
C++需要注意点
1、设定static成员变量初值时,不受任何存取权限的束缚。可以再还没有诞生任何对象的时候就处理static类型成员变量,但首先必须初始化它。2、只要access level允许,任何函数都可以存取static成员变量。但如果你希望在产生任何object之前就存取其class的private static成员变量,则必须设计一个static成员函数。3、四种不同的对象生存方式(in sta原创 2015-03-12 22:38:58 · 449 阅读 · 0 评论 -
C陷阱之一
运算符与符号之间的二义性:1.语句: y = x/*p原创 2014-07-12 12:20:24 · 390 阅读 · 0 评论 -
C++标准程序库细节整理(二)第五章
STL的基本观念就是将数据和操作分离。1、序列式容器Sequence containers,此为可序群集,其中每个元素均有固定位置——取决于插入时机和地点,和元素无关。STL提供了四个序列式容器:vector、deque、list。2、关联式容器Associative containers,此为已序群集,元素位置取决于特定的排序准则。STL提供了四个关联式容器:set、multiset、m原创 2014-12-14 16:57:12 · 429 阅读 · 0 评论 -
C++标准程序库细节整理(三)第六章
1、STL容器的三大核心能力是:(1)所有容器提供的都是“value语意”而非“reference语意”;(2)总体而言,所有元素形成一个次序;(3)一般而言,各项操作并非绝对安全。2、STL容器类别的共同操作:(见C++标准程序库的第145页)。3、vector的大小操作:size();capacity();reserve()。vector的操作:构造、拷贝和解构;非变动性操作;赋值操作原创 2014-12-20 09:39:47 · 361 阅读 · 0 评论 -
C++标准程序库细节整理(一)第四章
一、pair的总结:1、class pair 可以将两个值视为一个单元,尤其容器类别map和multimap,就是使用pairs来管理其键值/实值的成对元素。任何需要返回两个值,也需要pair。2、pair类是struct结构,不是class结构,所以成员都是public。3、pair的一些操作:初始化、赋值、比较、便捷函数(make_pair())。二、auto_ptr的总结:原创 2014-12-14 09:56:47 · 408 阅读 · 0 评论