2023-10-10-C++指针和引用【程序员生涯的第一座里程碑】

2023-10-11 03:12

本文主要是介绍2023-10-10-C++指针和引用【程序员生涯的第一座里程碑】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!



🍿*★,°*:.☆( ̄▽ ̄)/$:*.°★* 🍿

💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥
💟💟喜欢的朋友可以关注一下,下次更新不迷路💟💟
😆😆😆私聊获取个人订阅号哦,欢迎订阅共同学习😆😆😆
💖💖💖💖可以加入大家庭群聊,一起学习天天有福利💖💖💖💖





🍬本文摘要

在这里插入图片描述

作为一个c++程序员的我来说,大量学习和输出c++代码已有一年之久,因为大学期间学习的编程语言比较复杂,日常的代码量也比较少,因此之前对c++的学习并不是很多,大学毕业的时候对c++的了解可以算半个小白,在经历了一年时间的学习,在今天突然有种顿悟的感觉,这篇文章主要是为了记录一下这一年来的感悟,其次是为了写一下对于编程中非常要注意的一些指针和引用的知识。


目录

  • 🍬本文摘要
  • 😉一、这一年来的学习心得
  • 🐱‍🐉二、基础阶段
  • 🎉三、基础阶段
  • 🐱‍🚀四、基础阶段
  • 🎂五、基础阶段
  • 🥩六、基础阶段
  • 🍚七、基础阶段
  • 🥠八、基础阶段
  • 🍤九、基础阶段
  • 🥚十、基础阶段
  • 🥡十一、基础阶段
  • 🌯十二、基础阶段
  • 🥫十三、基础阶段
  • 🍳参考文献
  • 🧊文章总结



😉一、这一年来的学习心得

不知道大家上学期间有没有这样一种感受,班级里数学最好的那个同学(比如我,高考数学147)永远不是那个泰勒公式背的多么滚瓜烂熟的人,而是那个能立刻答出sin30°=1/2的人。有的人可能会想,这么简单的基础,谁不知道啊,如果谁想不起来这个答案那别学数学了,但是事实可不是这样,立刻答出这个答案的人可怕的地方是他对于基础的掌握已经可以用根深蒂固这个词来形容了,不管是在做作业还是在紧张的考试,他都能看到sin30°立刻想到1/2,看到1/2立刻想到sin30°,对于其他的基础知识一样如此,一道大题经常会卡在一个基础知识的运用上,这也就是为什么这种人的数学分数这么高的原因,基础牢固对复杂的知识自然会做到领会贯通,举一反三,相反基础不牢则地动山摇,在考试中是拿不到太高的分数的。
反观我这一年的学习过程,刚开始的我作为一个小白,会汲取目前能够汲取到的养分,但不会有选择的去学习知识,因为我也不知道去学习哪些知识。当时第一个我接触到的项目用到了非常多的C++新特性,各种让你得一个个搜索一个个学习的关键字,各种华丽的函数,各种看不懂的代码,当时的我认为这就是c++的极致了,这就是c++的终点了吧,原来这就是c++啊!于是我开始不停的学习c++每一个关键字,每一个函数的用法, 即使这些关键字我可能写一万行代码也用不到一次,但是我也要看,我也要尝试写。轮到我自己写项目的时候,我就挑这些生僻的关键字用,即使我知道怎么用更直白的写法把功能实现,我也不用,我偏要用别人一下子看不懂的写法写,让别人想研究我的代码的时候需要一边看一边搜索这个写法是什么意思,仿佛这样我就比别人会的多,懂得厉害了一样。
直到我接触到了这个世界上最优秀的产品之一,毫不夸张,非常有幸自己能够欣赏最优秀的代码。
这个产品非常的好用,功能无比的强大,扩展性极高,有三四层楼那么高,一定是非常顶级的一群工程师写出来的。当我看到产品的源码的时候,第一眼见到时,语法之朴素让我有些不屑一顾(有点夸张,但是先把我想象成一个高傲的人反衬代码的优秀),读起来简直丝毫压力没有,没有华丽的辞藻,没有生僻的关键字,没有晦涩难懂的语法,我心想为什么这些顶级的工程师要这么写呢,难道不应该写的非常复杂吗。于是我就再看,再看,再看。越看越震撼,越看越不可思议,几百万行代码的工程,内部逻辑之严谨,层次之分明,写法之规范,把强内聚、低耦合发挥到极致,把扩展性、健壮性、可移植性各种书本上的概念考虑之周全,让人感到无比震惊。我有些迟疑,c++究竟该怎么写?
从这里开始,之前我是自信的用复杂的写法写代码,后来我是担忧的用复杂的写法写代码,直到我写出了让人匪夷所思的bug,看着逻辑非常通畅的程序为什么就是出bug,看着自己都不敢确定到底安不安全的代码,我想了又想,想了又想,对代码中自己不确定安不安全地方我搜索到底对不对,我测试到底对不对。
恍然间,豁然开朗。
写代码的快乐所在并不是用了多么生僻的关键字,而是在定义完一个简单指针后我能够准确的说出我为什么要这么定义,我凭什么这么定义,这么定义的好处是什么,这个变量开辟在哪个空间,作用域是什么,从哪里来,从哪里走,我敢拍着胸脯的保证这个程序是安全的,因为c++程序的关键,就是安全!把时空复杂度压缩到到极致是我的追求,写出安全可靠效率高的程序是我的快乐!
一个好的程序并不应该是充满晦涩难懂的语法的,而是应该是规范易懂的,它是程序员之间沟通的桥梁,是开发人员之间的桥梁,是开发人员和维护人员之间的桥梁,让其他开发人员和维护人员看到代码时有种酣畅淋漓、赏心悦目的感觉,这才应该是一个好的程序。无意义的复杂语法只会增加后续阅读和找问题的难度,没有任何实际价值。
接下来我的目标就是学习更安全的写法,学习效率更高的写法,写出更优秀的代码!
下面是一些最近学的知识,分享给大家,希望对大家有所帮助。

🐱‍🐉二、基础阶段


🎉三、基础阶段


🐱‍🚀四、基础阶段


🎂五、基础阶段


🥩六、基础阶段


🍚七、基础阶段


🥠八、基础阶段


🍤九、基础阶段


🥚十、基础阶段


🥡十一、基础阶段


🌯十二、基础阶段


🥫十三、基础阶段


🍳参考文献

🧊文章总结

提示:这里对文章进行总结:

  本文讲了关于格式的整体写法,通过这种方法,快速的让读者了解并可以写作,本文类似于一个模板,大家可以在这个模板上编辑。






更多好文推荐

🍸2021-4月Python 机器学习——中文新闻文本标题分类
🍹2021年4月-(计算机网络)小型校园网络模拟搭建,最全最准确版
🍺2022-10-31-基于用户的协同过滤推荐算法实现+MAE+RMSE
🍻2022-11-28-大数据可视化,特征维度大于50
🥂2023-3-9-一篇简短的文章把C++左右值关系讲的透透彻彻

上一篇
End
下一篇

这篇关于2023-10-10-C++指针和引用【程序员生涯的第一座里程碑】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/185102

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

c++中std::placeholders的使用方法

《c++中std::placeholders的使用方法》std::placeholders是C++标准库中的一个工具,用于在函数对象绑定时创建占位符,本文就来详细的介绍一下,具有一定的参考价值,感兴... 目录1. 基本概念2. 使用场景3. 示例示例 1:部分参数绑定示例 2:参数重排序4. 注意事项5.

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

使用C/C++调用libcurl调试消息的方式

《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取