C++
风云魔导师
我就是我
展开
-
字节存储排序:大端和小端的判别及转换
当前的存储器,多以byte为访问的最小单元,当一个逻辑上的地址必须分割为物理上的若干单元时就存在了先放谁后放谁的问题,于是端(endian)的问题应运而生了,对于不同的存储方法,就有大端(big-endian)和小端(little- endian)两个描述。字节排序按分为大端和小端,概念如下大端(big endian):低地址存放高有效字节小端(little endian):低字节存放转载 2015-08-12 09:37:18 · 417 阅读 · 0 评论 -
C++STL之函数对象及谓词
概述函数对象是重载()运算符的类类型对象,即该类实现operator()()函数。STL将一组标准的函数对象定义为模板,,可以使用它们来创建一个函数对象,其中overload()运算符函数使用我们的对象类型。如:STL定义模板less。如果将该模板实例化为less,我们就有了一个函数对象类型,实现operator()()来对myNumber类型的对象进行大小比较。很多算转载 2015-09-09 17:21:01 · 353 阅读 · 0 评论 -
fread、fwrite和fseek
fread(buffer,size,count,fp); 用来读入一个数据块fwrite(buffer,size,count,fp); 用来写入一个数据块参数说明:(1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。(2)size:要读写的字节数;(3)count:要进行读写多少个size字节的数据项;(转载 2015-08-21 13:50:47 · 964 阅读 · 0 评论 -
基于protobuf的RPC实现
可以对照使用google protobuf RPC实现echo service一文看,细节本文不再描述。google protobuf只负责消息的打包和解包,并不包含RPC的实现,但其包含了RPC的定义。假设有下面的RPC定义:service MyService { rpc Echo(EchoReqMsg) returns(EchoRespMsg) }转载 2015-09-14 14:13:09 · 982 阅读 · 0 评论 -
关于C++中的虚拟继承的一些总结
本文转自http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/05/2537451.html1.为什么要引入虚拟继承虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继转载 2016-06-27 18:07:34 · 353 阅读 · 0 评论 -
BSS段 data段 text段 堆heap 和 栈stack
BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。 代码段:代码段(code segment/text seg转载 2016-07-19 11:03:43 · 864 阅读 · 0 评论 -
typedef用法小结
第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指转载 2017-06-08 11:16:48 · 868 阅读 · 0 评论