摘要:
[C++基础]019_指针和引用(int*、int&、int*&、int&*、int**)相信很多CPPers跟我一样,曾经在指针和引用里徘徊了很久很久。经常弄混指针和引用,尤其是见到如题中列出那些用法,着实是伤脑经。后来,在项目中用着用着,就能搞清楚区别了,算是会用吧。然而,对于一个Programmer,最忌讳的就是不知其所以然,会用和懂是两番天地。停留在会用的人,始终是原地打转;而懂的人,一通百通,能举一反三。本文,就如题的指针和引用的用法做一个介绍。首先我们来普及一下概念,说明一下什么是指针和引用,这里借用一下变量名作为过渡。 ■指针 ---- 指向某一块内存的变 阅读全文
摘要:
[C++基础]018_常量指针和指向常量的指针先来看一下什么是常量指针,什么是指向常量的指针吧!1. 常量指针定义1 int * const ptr = new int();2. 指向常量的指针1 const int* ptr;上面已经看到常量指针和指向常量的指针是如何定义的了,那么他们有什么特点呢?1. 常量指针无法改变指针的值,即无法改变该指针指向的地址。因此,在定义常量指针的时候,必须要为其指定一个地址。即代码中的new int()。2. 指向常量的指针所指向的值是无法更改的,即不能修改,不能销毁。如果对指向常量的指针进行delete操作的话,编译阶段就会报错。上述二者的组合是什么呢.. 阅读全文
摘要:
[C++基础]017_数据的存放学习写程序,就不能不对程序的数据存放有一定的了解。可能你常常听说栈啊、堆啊什么的,下面咱们看看数据的存放有哪几个位置。①.栈区 存储【函数参数】以及【局部变量】,由编译器自动分配和释放②.堆区 存储程序员动态创建的对象,由程序员创建和释放③.寄存器区 存储栈顶指针(SP)和指令指针(IP),由操作系统负责④.全局区(静态区) 存储全局变量(静态变量),由操作系统负责,一般程序运行结束销毁⑤.文字常量区 存储常量字符串,比如代码中定的“HelloWorld”等,由操作系统负责⑥.程序代码区 存储代码段内容,学过汇编的... 阅读全文