且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

(六十二)第四章总结——《C++ Primer Plus 第6版 中文版》

更新时间:2021-11-05 02:37:25

书是《C++ Primer Plus  第6版  中文版》



数组、指针、结构 是C++的3种复合类型。

 

注:为了方便,类型名用int为主,变量名用a为主。

 

数组:

包括数组(例如int a[10];)和字符串(例如char a[10];),还有string类(例如string a="abc";),vector类(例如vector<int>a(5))、array类(array<int,3>a)等。

数组名表示数组所在的(第一个元素)内存地址。

 

结构:

包括普通结构(例如struct a{int a;double b;})、共用体(例如union a{int a;char b[10];)、结构数组(例如先结构声明,然后a b[5];这样创建5个结构,分别为b[0]、b[1]等)等。

 

指针:

包括普通指针(例如int*a=&b;),结构指针(例如先声明结构,然后结构名*a=new 结构名),数组指针(例如int a[10];int *b=a;)等

指针指向的是内存地址。

 

字符串:

以空字符(\0)为结尾的一系列字符,使用双引号括起来(例如"abc",默认最后带空字符\0)。

 

new和delete:

new在使用的时候请求内存,delete在使用完后释放内存。二者需对应使用,若只new不delete,有可能导致内存泄露。new和delete和指针一起使用,将地址赋给指针。

 

三种存储方式:

自动变量:在函数内部声明使用,随着函数的退出而终止。使用自动存储空间,通常存储在 栈 中。

静态变量:在函数外部(程序运行期间有效)或函数内部使用关键词static(在函数消亡时保留,再次使用函数时,值为上一次退出时的值),

***存储空间:又称为 堆 ,在使用的时候分配内存,在不使用的时候可以释放他。