随笔分类 -  C++

摘要:我们已经基本能够使用Protocol Buffers生成代码,编码,解析,输出及读入序列化数据。该篇主要讲述PB message的底层二进制格式。不了解该部分内容,并不影响我们在项目中使用Protocol Buffers,但是了解一下PB格式是如何做到smaller这一层,确实是很有必要的。Prot 阅读全文
posted @ 2017-04-13 14:07 滴水瓦 阅读(2249) 评论(0) 推荐(0) 编辑
摘要:在message_lite.h中定义了SerializeToString ,SerializeToArray ,SerializeToCodedStream ,SerializeToZeroCopyStream 其它序列化到IO流、序列化到文件等接口在它的子类message.h文件中提供。 另外,在 阅读全文
posted @ 2017-04-13 14:06 滴水瓦 阅读(7431) 评论(0) 推荐(0) 编辑
摘要:protobuf 是用于结构化数据串行化的灵活、高效、自动化的解决方案。又如 XML,不过它更小、更快、也更简单。你只需要按照你想要的数据存储格式编写一个.proto,然后使用生成器生成的代码来读写这个数据结构。更重要的是,你甚至可以在无需重新部署程序的情况下更新数据结构。 在项目中使用protoc 阅读全文
posted @ 2017-04-12 18:09 滴水瓦 阅读(23306) 评论(1) 推荐(1) 编辑
摘要:这个指南描述了如何使用Protocol buffer 语言去描述你的protocol buffer 数据, 包括 .proto文件符号和如何从.proto文件生成类。包含了proto2版本的protocol buffer语言:对于老版本的proto3 符号,请见Proto2 Language Gui 阅读全文
posted @ 2017-04-12 16:10 滴水瓦 阅读(3180) 评论(0) 推荐(0) 编辑
摘要:TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。 DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些 阅读全文
posted @ 2017-04-10 17:21 滴水瓦 阅读(1948) 评论(0) 推荐(0) 编辑
摘要:JSON全称为JavaScript ObjectNotation,它是一种轻量级的数据交换格式,易于阅读、编写、解析。jsoncpp是c++解析JSON串常用的解析库之一。 jsoncpp中主要的类: Json::Value:可以表示所有支持的类型,如:int , double ,string , 阅读全文
posted @ 2017-04-07 16:18 滴水瓦 阅读(18768) 评论(0) 推荐(2) 编辑
摘要:标准库 C++标准库,包括了STL容器,算法和函数等。 C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。 Standard Template Library:标准模板库 C POSIX library : POSIX系统的C标准库 阅读全文
posted @ 2017-03-15 16:42 滴水瓦 阅读(761) 评论(1) 推荐(1) 编辑
摘要:但是 阅读全文
posted @ 2017-03-05 14:27 滴水瓦 阅读(419) 评论(0) 推荐(0) 编辑
摘要:收到 阅读全文
posted @ 2017-03-03 10:11 滴水瓦 阅读(264) 评论(0) 推荐(0) 编辑
摘要:水电费 阅读全文
posted @ 2017-03-02 17:36 滴水瓦 阅读(282) 评论(0) 推荐(0) 编辑
摘要:多少分 阅读全文
posted @ 2017-03-02 12:00 滴水瓦 阅读(1195) 评论(0) 推荐(0) 编辑
摘要:地方 阅读全文
posted @ 2017-03-02 11:59 滴水瓦 阅读(270) 评论(1) 推荐(0) 编辑
摘要:水电费 阅读全文
posted @ 2017-03-02 11:58 滴水瓦 阅读(173) 评论(0) 推荐(0) 编辑
摘要:C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。 struct能包含成员函数吗? 能!!! struct能继承吗? 能!!! struct能实现多态吗? 能!!! 既然这些它都能实现,那它和class还能有什么区别? 1. 阅读全文
posted @ 2017-03-02 11:55 滴水瓦 阅读(1436) 评论(0) 推荐(2) 编辑
摘要:关于C++,最常听到的一个抱怨就是:编译器背着程序员干了太多的事情。 default constructor函数的构建 default constructors会在需要的时候被编译器创建出来,关键字是:在需要的时候?被谁需要?用来做什么事情? 例如: 在这个例子中,正确的程序语义是要求Foo有个de 阅读全文
posted @ 2017-03-01 20:44 滴水瓦 阅读(276) 评论(0) 推荐(0) 编辑
摘要:之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,==进行比较,+ 做串联(是不是很简单?)。我们尽可 阅读全文
posted @ 2016-08-08 20:57 滴水瓦 阅读(509) 评论(0) 推荐(0) 编辑
摘要:array是一个固定大小的顺序容器,不能动态改变大小,array内的元素在内存中以严格的线性顺序存储与普通数组声明存储空间大小[]的方式是一样有效的,只是加入了一些成员函数和全局函数[get (array)、operators (array)],以便当作标准容器使用零大小的array是有效的,但是不 阅读全文
posted @ 2016-07-14 21:19 滴水瓦 阅读(7429) 评论(1) 推荐(1) 编辑
摘要:C++中有两种风格的类型转换,一种C风格的,一种C++风格的。C风格:int a = int(2.33);C++新增了四种cast运算符,static_cast<type>(var), const_cast<tyep>(var), reinterpret_cast<type>(var), dynam 阅读全文
posted @ 2016-07-14 20:34 滴水瓦 阅读(700) 评论(0) 推荐(0) 编辑
摘要:上面是一些与平台无关的数据类型,由于在32位机器和64位机器中,long占据不同的字节数,所以推荐使用上面的类型。。上面的类型的头文件是stdint.h 阅读全文
posted @ 2016-07-13 15:18 滴水瓦 阅读(1970) 评论(0) 推荐(0) 编辑
摘要:vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法: 1.文件包含: 首先在程序开头处加上#include<vector>以包含所需要的类文件vector 还有一定要加 阅读全文
posted @ 2016-07-12 20:15 滴水瓦 阅读(4921) 评论(0) 推荐(0) 编辑