C++中指针和应用有哪些区别?

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中指针和应用有哪些区别?相关的知识,希望对你有一定的参考价值。

a. 指针是一个新的变量,存储了另一个变量的地址,我们可以通过访问这个地址来修改另一个变量;引用只是一个别名,还是变量本身,对引用的任何操作就是对变量本身进行操作,以达到修改变量的目的;

b. 引用只有一级,而指针可以有多级;

c. 指针传参的时候,还是值传递,指针本身的值不可以修改,需要通过解引用才能对指向的对象进行操作,引用传参的时候,传进来的就是变量本身,因此变量可以被修改。

解决问题之后我们聊聊C/C++的学习方面。

一、为什么要先学C语言

C++是C的一个面向对象的解释,C++为C扩充大规模工程应用,复杂的系统结构的组织和掌控方法,但是C++骨子里还是C语言的。

因为,解决具体问题,每个函数内部,都是用C的方式写程序,还是面向过程的。

所以,想要学好C++,建议先学C语言,学习的是解决问题的能力,之后再说解决大问题的能力;

二、学习过程中要重点学什么

理解结构化编程思维

利用C语言入门,借此理解结构化开发思维,C语言的函数,本身就是为重用做准备的。同时全局变量和C++内部私有变量的差别,使用原则,这些都能学到很多结构化的开发思维。

三、C++难在哪里?

之前的问答整理过了,总结一下:

C++语法支持多功能性,主要因为C++的自由度很高,包容性太强。
未定义行为多,编译通过了不代表我们就可以这么写;
光学语法没有实际用处,还要学MFC,QT等等

四、C++怎么学

大家基本上认为C++的难学之处就是在于它在C语言之外,提供了概念很多,尤其是对象,这方面很难理解。

但是面向对象相对面向过程,仅仅是结构化程序设计的一个具体体现,是编译器提供手段,强迫程序员必须遵循数据私有化的一个实例,C++和C的关系,最核心的莫过于此。

我们用C语言来看:如果我们把一个全局变量,写到一个cpp里面,并且在对应的h文件中不声明,它是不是就只有这个模块可以使用?它是不是就是私有变量,以这个理解,类能明白了吗?

五、部分资源

C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。
Standard Template Library:标准模板库
C POSIX library : POSIX系统的C标准库规范
ISO C++ Standards Committee :C++标准委员会
有C++基础如何直接上手QT?
最适合新手的第一个Qt小程序

以上是关于C++中指针和应用有哪些区别?的主要内容,如果未能解决你的问题,请参考以下文章

C|指针的10种经典应用场合

在Visual C++设计中,单文档应用程序中常用的MFC类如何相互获得类的指针?(如CView类获得CDoc类的指针等

Golang指针和C++指针的简单剖析

Go和C++的指针区别,gc后指针会变吗?

在C++种,关于指针的这两种表示有啥区别:double * a和double ** a?两个**是啥意思呢?

[ZZ]C++中,引用和指针的区别