
C相关
kobbee9
这个作者很懒,什么都没留下…
展开
-
堆栈及静态数据区
堆栈及静态数据区 转载▼ 五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要转载 2012-04-10 09:02:07 · 525 阅读 · 0 评论 -
深层揭密extern "C"
深层揭密extern "C" 1. 深层揭密extern "C" extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。 (1)被extern "C"限定的函数或变量是extern 类型的; extern 是C/C++语言中表明函数和全局变量作用范围(可见性)的转载 2012-04-10 15:54:03 · 456 阅读 · 0 评论 -
C/C++中extern关键字详解
C/C++中extern关键字详解 1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译转载 2012-04-10 15:48:40 · 441 阅读 · 0 评论 -
C/C++中static关键字详解
C/C++中static关键字详解 静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。 用法1:函数内部声明的static变量,可作为对象间的一种通信机制 如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象转载 2012-04-10 15:50:37 · 377 阅读 · 0 评论 -
C/C++中volatile关键字详解
C/C++中volatile关键字详解 1. 为什么用volatile? C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 "The C++ Programming Language" 对 volatile 修饰词的说明: A volatile specifier转载 2012-04-10 15:56:43 · 627 阅读 · 0 评论 -
C/C++中作用域详解
C/C++中作用域详解 作用域规则告诉我们一个变量的有效范围,它在哪儿创建,在哪儿销毁(也就是说超出了作用域)。变量的有效作用域从它的定义点开始,到和定义变量之前最邻近的开括号配对的第一个闭括号。也就是说,作用域由变量所在的最近一对括号确定。 (1) 全局变量: 全局变量是在所有函数体的外部定义的,程序的所在部分(甚至其它文件中的代码)都可以使用。全局变量不受作转载 2012-04-10 15:49:55 · 474 阅读 · 0 评论 -
C++中的位拷贝和值拷贝
C++中的位拷贝和值拷贝 说明我们以String类为例: 首先定义String类,而并不实现其成员函数。 Class String{ public: String(const char *ch=NULL);//默认构造函数 String(const String &str);//拷贝构造函数 ~String(void); String &转载 2012-04-11 10:40:57 · 409 阅读 · 0 评论