c++
u012436149
这个作者很懒,什么都没留下…
展开
-
c++临时变量
C++临时变量“有时候,在求表达式的期间,编译器必须创建临时变量(temporary object)。像其它任何对象一样,它们需要存储空间,并且必须能够构造和销毁。需要注意的是,编译器创建的这个临时变量为常量.” – Thingking in C++什么情况下编译器会创建临时变量看下面代码:class A{public: print(){ cout<<"hello world"<<en原创 2017-05-21 19:42:57 · 1105 阅读 · 0 评论 -
简单介绍 protocol buffer
protocol bufferprotocol buffer 是谷歌的一款序列化结构数据的工具. 它有几个核心的概念:.proto文件: 定义protocol buffer message 类型的地方,这个类型指定了如何序列化你的结构数据,如下所示, 这个.proto文件定义了一个Person 结构数据(也可以看作类/结构体).message Person { required stri原创 2017-06-15 06:48:20 · 1313 阅读 · 0 评论 -
C/C++ 预处理器
预处理是在 程序编译之前进行的一步操作。翻译程序这个操作是 预处理之前 的操作,在 预处理 之前,编译器会对源代码会进行一些翻译操作:将源代码中出现的字符映射到 源字符集。查找 反斜线 (\) 后 紧跟 换行符 (回车键产生的字符)的 实例,并删除这些实例。编译器将文本划分为:语言符号(token) 序列,空白字符序列,注释序列。(token:空格分隔的组) 编译器用一个 空白字符 代替原创 2017-10-20 17:06:07 · 2180 阅读 · 0 评论 -
c++复杂声明
void (*funcPtr)();上面声明了一个指向函数的指针,当碰到这样一个比较复杂的声明时,最好的方法是从 中间开始和向外扩展:从中间开始:即 从变量名开始像外扩展:即 先注意右边最近的项,已右括号结束,再注意左边的项,已左括号结束,再注意右边的项。。。用上述方法来解析一下第一个声明:往右看:是右括号,结束往左看:funcPtr是个指针往左看:碰到左括号,结束往右看:指针指向一个原创 2017-10-12 13:15:21 · 429 阅读 · 0 评论 -
C 中内存的一些操作
分配内存与释放内存 在C 中,下列函数的声明在 stdlib.h 中,在 C++, 声明在 cstdlib 中mallocrealloccallocfree , 释放分配的内存(分配的内存块的头部记录了当前分配内存块的大小)一、 malloc malloc(memory allocate)在堆上分配内存, 分配内存块函数原型为:void* malloc(size_t size);原创 2017-11-19 23:37:57 · 546 阅读 · 0 评论