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

2023-10-26

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小程序

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++中指针和应用有哪些区别? 的相关文章

随机推荐

  • matlab向量生成和运算

    向量的生成 1 直接输入 a 1 2 3 4 2 冒号运算符 3 从矩阵中抽取行或者列 4 线性等分法 利用元素间的等差值来实现 利用函数的形式来实现的 语法格式如下 向量名 linespace 第一个元素数值 最后一个元素数值 向量位数
  • Java架构师之旅(二十九 附录《MyBatis3 用户指南》中文版)

    夜光序言 岁月波光粼粼 赋予爱与生命 唯有生活不能被他人代替 只会有寂寞相随 正文 MyBatis 3 2010 08 01 翻译的一个版本 虽难比较老了 但是有一些基础还是值得学习 毕竟是中文版 Contents MyBatis是什么 6
  • SpringBoot项目启动后执行指定方法的四种实现

    今日的好天气 文章目录 方式一 方法上添加注解 PostConstruct 1 定义 2 PostConstruct和 Autowired 构造函数的执行顺序 3 PostConstruct使用时注意事项 4 几点建议 方式二 实现Comm
  • 深度学习03-卷积神经网络(CNN)

    简介 CNN 即卷积神经网络 Convolutional Neural Network 是一种常用于图像和视频处理的深度学习模型 与传统神经网络相比 CNN 有着更好的处理图像和序列数据的能力 因为它能够自动学习图像中的特征 并提取出最有用
  • Java RSA加密解密及签名验证

    一 简介 RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥 在公开密钥密码体制中 加密密钥 即公开密钥 PK是公开信息 而解密密钥 即秘密密钥 SK是需要保密的 加密算法E和解密算法D也都是公开的 虽然解密密钥SK是由公开密钥PK决
  • opengl的纹理过滤

    和纹理映射相关的另一个重要概念是 过滤 我们已经讨论了怎样将纹理坐标 这是个0到1之间的分数 映射到纹素上 纹理贴图中纹素的坐标总是以整数定义的 但是如果纹理坐标映射到纹素上的坐标为 152 34 745 14 怎么办 不明智的方案是将这个
  • css的三种引入方式

    目录 三种引入方式 1 行内样式 2 内部样式 内嵌式 3 外部样式 3 1外链式 3 2导入式 引入方式的优先级 三种引入方式 1 行内样式 行内样式就是直接把css样式添加在HTML标签中 作为style样式的属性值
  • DDR4 设计概述以及分析仿真案例(硬件学习)

    转载 DDR4 设计概述以及分析仿真案例 硬件设计讨论 EDA365电子论坛网 引言 随着计算机 服务器的性能需求越来越高 DDR4开始应用在一些高端设计中 然而目前关于DDR4的资料非常少 尤其是针对SI 信号完整性 部分以及相关中文资料
  • ODBC 各种数据库连接串

    Overview Generally one of the first steps when you are trying to work with databases is open it You can find several typ
  • 查看及配置交换机管理地址

    查看及配置交换机管理地址 问题 交换机是目前用于组建局域网的主要设备 交换机根据MAC地址表实现数据帧的转发 通过查看MAC地址表更加有利于交换机工作原理的理解 通过查看CISCO设备邻居信息来了解网络拓扑 通过telnet方式远程访问 配
  • Selenium+python之隐藏浏览器的“Chrome正在受到自动软件的控制“提示语

    在执行测试用例 细心的人都会发现 浏览器的title部分 有一句提示语 Chrome正在受到自动软件的控制 那么 能不能去掉这句提示语呢 也是没问题的 同样的 使用 headless 在浏览器中加入 disable infobars 这个参
  • pyecharts学习小总结——Bar(柱状图)、Pie(饼图)、Line(线图)、Page(页面组件)、Tab(分页组件)、Grid(组合组件)

    目录 pyecharts常用模块总结 Bar 柱状图 1 旋转x轴标签 2 添加工具箱 3 柱状图与折线图混合 4 标注x轴名称 5 设置垂直的一天时间线 6 旋转x和y轴 Pie 饼图 1 设置位置和半径大小 Line 线图 1 设置平滑
  • pip install scipy时发生zipfile.BadZipFile: File is not a zip file解决办法

    应该是下载时发生了丢包 我在官网下载时 只有14M 切换到豆瓣源有30M 附上地址 https pypi doubanio com simple scipy
  • java程序移植_java JDBC 提高程序可移植性

    介绍jdbc一般的程序 程序编程相关 jb oracle weblogic c 很多java初学者在开始接触jdbc编程的时候 在网上与大部分的教材上都是这样 推荐阅读 Java线程入门 什么是线程 import java sql 扩展信息
  • 预训练语言模型(PLMs)综述

    预训练语言模型 PLMs 内容来自AACL 2022 Tutorial https d223302 github io AACL2022 Pretrain Language Model Tutorial https d223302 gith
  • Mysql进阶索引篇02——InnoDB存储引擎的数据存储结构

    前言 前面我们已经剖析了mysql中InnoDB与MyISAM索引的数据结构 了解了B 树的设计思想 原理 并且介绍了B 树与Hash结构 平衡二叉树 AVL树 B树等的区别和实际应用场景 页和页之间并不一定在物理上相连 只是在逻辑上使用双
  • java内存

    在java视频中 一直强调java内存的重要性 如果真正理解 了java内存的分配情况和程序运行时的java内存 那么你会对 java编程的思想 会更加深刻 Java内存分配与管理是Java的核心技术之一 Java的内存分配有三种 一 静态
  • 使用WPD API操作MTP设备一些总结

    使用WPD API操作MTP设备总结 本文分为两部分 1 WPD基本架构和概念的理解 2 使用WPD API操作MTP 拷贝 删除 设备 1 WPD基本架构和概念 1 1 WPD架构 原文 https docs microsoft com
  • Vue脚手架的安装配置以及使用

    安装Vue脚手架 1 需要安装nodejs支持 去nodejs官网下载对应版本的nodejs 可以使用installer 选择安装目录点击安装 也可以使用binary文件 直接选择文件夹解压缩 安装完成后如上图所示 然后配置环境变量 1 添
  • C++中指针和应用有哪些区别?

    a 指针是一个新的变量 存储了另一个变量的地址 我们可以通过访问这个地址来修改另一个变量 引用只是一个别名 还是变量本身 对引用的任何操作就是对变量本身进行操作 以达到修改变量的目的 b 引用只有一级 而指针可以有多级 c 指针传参的时候