前言
为什么想起来先以基本语法开始呢?
(1)首先最主要的原因就是自己虽然对大多数经常用的语法比较熟悉,但是一些偏门的用法实际上很容易遗忘,这里也做一下记录。
(2)其次是因为我当时在学习《c++primer》这本经典教科书的时候,记录的笔记都是记录在草稿纸上,不方便翻阅和复习,如下图,这里也是把笔记进行拓印过来,哈哈~
这里注意,这个部分我发文的顺序会比较乱,因为是根据笔记的顺序来的,笔记并不是每一章都记了,所以我会在文章的标题写明对应哪些知识点,方便各位速览~
指针
指针这个东西其实贯穿于整个c++从诞生到现在整个的发展历程,但是我在没有系统学习c++之前,我只是知道有指针这个东西,但是他和生成对象有什么区别,以及指针是什么东西,其实并不清楚。
这里先给一个定义:指针:也是一种对象,也占用内存,但是它内存空间里保存的是一个地址,这个地址是记录了它所指向的内存空间的首地址的。
看这个简单的代码
int main()
{
int A;
int* ptr = &A;
cout << "对象A的地址值是:" << & A << endl;
cout << "指针ptr里面的值是:" << ptr << endl;
}
这里我定义了一个对象A,一个指针ptr,ptr指向了A,然后打印了A的地址值,以及ptr里面的值,注意区分下面看一下结果:
可以看到ptr里面存的值是A的地址。
这样做有什么好处呢?
1.想一想,指针记录了对象的值,所以它某种程度上是不是可以等同于所指向的对象,那么我在某些用到这个对象的时候,我是不是可以用指针代替,尤其在对象占用的空间非常庞大的时候,我用指针来传递,是不是省却了非常大的内存。
2.更何况它还有稍微高阶的用法,比如多态。我们后面再说。
好了,先说到这里啦~