C&C++
shyanyang
这个作者很懒,什么都没留下…
展开
-
字符转义序列
名称转义序列名称转义序列警报(响铃)符\a纵向制表符\v回退符\b反斜杠\\换页符\f问号\?换行符\n单引号\'回车符\r双引号\"横向制表符\t原创 2012-04-04 18:09:39 · 551 阅读 · 0 评论 -
[C/C++]函数参数的入栈顺序与可变参数的实现
转自:http://blog.sina.com.cn/s/blog_54f82cc2010133mn.html#includevoid foo(int x, int y, int z){ printf("x = %d at [%X]\n", x, &x); printf("y = %d at [%X]\n", y, &y); printf转载 2013-06-26 16:22:49 · 807 阅读 · 0 评论 -
读C++虚函数表及C++对象的内存布局笔记
C++虚函数表解析:http://blog.csdn.net/haoel/article/details/1948051C++对象的内存布局(上):http://blog.csdn.net/haoel/article/details/3081328C++对象的内存布局(下):http://blog.csdn.net/haoel/article/details/3081385原创 2013-05-15 19:07:45 · 744 阅读 · 0 评论 -
malloc,free动态申请释放内存机制
1.当堆中的空间不足时,malloc会调用sbrk系统调用来想操作系统申请获得更多的堆空间。虽然sbrk可以扩充货缩小进程的存储空间,但是大多数malloc和free的实现都不减小进程的存储空间。释放的空间可供以后再分配,但通常将他们保持在malloc池中而不返回给内核。2.堆中的空闲块组成一个空闲链表,每个空闲块在开始处都有一个结构用于存放管理记录,在管理记录中存放着该块的大小(size)和原创 2013-04-27 22:22:48 · 1452 阅读 · 0 评论 -
g++参数
自用,转自http://www.cnblogs.com/lidan/archive/2011/05/25/2239517.htmlgcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 预处理器cpp2.将预处理后的文件不转换成汇编语言,生成文件.s转载 2012-02-11 11:45:46 · 869 阅读 · 0 评论 -
c与c++中enum,struct,union主意点
enum boolen{FALSE, TURE};在c中定义枚举类型是必须是enum boolen isRight在c++中定义枚举类型enum boolen isRight;或boolen isRight;2.枚举类型相当于unsigned,对枚举类型进行sizeof操作不管是对类型名还是对枚举成员,其sizeof后的值都相当与sizeof(unsigned),为4。3.原创 2013-03-26 20:37:30 · 930 阅读 · 0 评论 -
extern用法详解
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案转载 2012-03-28 22:32:50 · 453 阅读 · 0 评论 -
0 Introduction
声明(declaration)是告诉编译器某个东西的名称和类型(type),但略去细节。 定义式(definition)的任务是提供编译器一些声明式所遗漏的细节。 对对象而言,定义式是编译器为此对象拨发内存的地点。 对function或function template 而言,定义式提供了代码的本体。 对cla原创 2012-03-26 20:53:11 · 531 阅读 · 0 评论 -
[Linux] ls和size命令以及程序内存映像、磁盘映像的理解
转自:http://blog.chinaunix.net/uid-9012903-id-2011435.html下午试验一个小程序来着,用到size 命令,后来发现只是一个空程序体的话,size 命令仍然显示编译出的a.out 的bss 段大小有四个字节,于是去google 了下size 命令的相关用法之类,没想到找出来一篇关于程序内存映像和磁盘映像等的不错的说明。又给自己扫盲了。一共有两个帖转载 2013-01-07 15:20:05 · 5459 阅读 · 2 评论 -
C++ 中 随机数用法
C++标准函数库提供一随机数生成器rand,返回0-RAND_MAX之间均匀分布的伪随机整数。 RAND_MAX必须至少为32767。rand()函数不接受参数,默认以1为种子(即起始值)。 随机数生成器总是以相同的种子开始,所以形成的伪随机数列也相同,失去了随机意义。(但这样便于程序调试) C++中另一函数srand(),可以指定不同的数(无符号整数变元)为种子。但是如果种转载 2011-12-23 20:57:07 · 568 阅读 · 0 评论 -
extern 用法,全局变量与头文件(重复定义)
用#include可以包含其他头文件中变量、函数的声明,为什么还要extern关键字,如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include(xxx.h包含了a的声明)不就可以了么,为什么还要用extern呢??这个问题一直也是似是而非的困扰着我许多年了,今天上网狠狠查了一下总算小有所获了:头文件首先说下头文件,其实头文件对计算机而言没什么作用,她只是在预编译时在#in转载 2012-09-14 15:35:57 · 832 阅读 · 0 评论 -
动态申请二维数组
#include #include int main(){ int row, col; int i, j; int **p; printf("input the row: "); scanf("%d", &row); printf("input the col: "); scanf("%d", &col); // f原创 2012-05-29 19:47:06 · 452 阅读 · 0 评论 -
scanf和printf中的转换说明符
读写无符号、短的和长的整数使用的一些转换说明符。当读或写无符号整数时,使用字母u、o或x代替转换说明中的d。如果使用了u说明符,那么读(或写)的数是十进制形式;o指明是八进制形式,而x指明是十六进形式。当读或写短整形数时,在d、o、u、x前面加上字母h当读或写长整形数时,在d、o、u、x前面加上字母l。转换说明符%e、%f、%g用于读和写单精度浮点数,而double和long doub原创 2012-04-01 15:42:59 · 5294 阅读 · 1 评论 -
boost property_tree 解析json文件
boost property_tree解析json文件相关文档如下:json_parser、basic_ptreejson_parser:read_json(filename, ptree):用于将filename文件中的内容读入ptree结构中。write_json(filename, ptree):用于将ptree结构中的内容写入filename中。basic_ptre原创 2015-03-11 20:28:34 · 6163 阅读 · 0 评论