C
文章平均质量分 82
qq_36802648
这个作者很懒,什么都没留下…
展开
-
float类型精度损失问题
float范围为: 32 3.4E–038~3.4E+038double范围为: 64 1.7E–308~1.7E+308#include <stdio.h> #define EPSILON 0.0001 // Define your own tolerance#define FLOAT_EQ(x,v) (((v - EPSILON) < x) &&...转载 2018-03-18 14:44:27 · 6319 阅读 · 2 评论 -
数组和指针区别
http://blog.csdn.net/u011068464/article/details/29918533什么时候数组和指针相同(When an Array Is a Pointer )在实际应用中,他们可以互换的情形要大大多于不能互换的情形。首先再回顾一下声明和定义,(上一篇中有提到这里在深入一下)声明本身还可以进一步分为三种情况:1)外部数组的声明(external array)2)数组...转载 2018-03-18 14:46:08 · 167 阅读 · 0 评论 -
堆、栈、程序区、静态数据区、字符常量区的介绍与区别
http://blog.csdn.net/razilfelix/article/details/53609571自己总结一下关于内存分区的基础知识: 先上图: 在VS测试中发现,字符常量区(只读数据区)在编译时候与静态数据区放在了一起。因此在静态数据区的几种类型没有独立的地址区域,都是按照定义的时间顺序进行分配。而动态内存区不同,堆和栈有独立的地址区域,具体介绍可以看下文。1、...转载 2018-03-18 14:59:26 · 1222 阅读 · 0 评论 -
动态存储区、静态存储区、堆和栈的区别
http://blog.csdn.net/chen1083376511/article/details/54930191C/c++程序经过编译连接后形成的二进制映像文件,这文件包含:栈,堆,数据段(只读数据段,已经初始化读写数据段,未初始化数据段即BBS)和代码段组成. 1.栈区(s...转载 2018-03-18 15:01:35 · 6587 阅读 · 2 评论 -
C++ 宏定义#define 中##的使用
在C++的宏定义中,符号##一般是用于连接,包括参数的连接,参数与标识符的连接等,然后形成一个新的标识符。下面举几个例子来进行说明。eg1:1 #define ADD(a,b) a##b2 #define ab "123456"3 int main()4 {5 string str=ADD(a,b); //ADD(a,b)结果为ab,此时str=ab6 std::cout<<...转载 2018-03-18 16:53:38 · 786 阅读 · 1 评论