侯捷 C++ 课程学习笔记:C++ 基础与演化
一、课程基础要求
在侯捷老师C++ 课程中,首先强调了学习 C++ 前应具备的基础知识。这些基础知识对于理解 C++ 的核心概念和编程技巧至关重要。
-
掌握某种过程式语言(C 语言最佳):
-
变量(Variables):理解变量的声明、初始化和使用。
-
类型(Types):熟悉基本数据类型,如
int、float、char,以及结构体struct等。 -
作用域(Scope):理解变量和函数的作用域,包括全局作用域和局部作用域。
-
循环(Loops):掌握
while和for循环的使用。 -
流程控制(Flow Control):理解
if-else和switch-case等流程控制语句。
-
-
了解程序的编译和链接过程:
-
知道一个程序需要经过编译和链接才能被执行。
-
掌握如何编译和链接代码,建立一个可运行的程序。
-
二、课程目标
侯捷老师C++ 课程的目标是培养学员良好的编程习惯和面向对象的编程思维。

-
培养正规的、大气的编程习惯:
-
以良好的方式编写 C++ 类,包括:
-
不包含指针成员的类:如
Complex类。 -
包含指针成员的类:如
String类。
-
-
-
学习类之间的关系:
-
继承(Inheritance):理解类的继承机制,如何通过继承复用代码。
-
复合(Composition):理解类的复合关系,即一个类包含另一个类的实例。
-
委托(Delegation):理解类的委托关系,即一个类将某些功能委托给另一个类。
-
三、课程内容
-
C++ 的历史:

-
B 语言(1969):C 语言的前身。
-
C 语言(1972):过程式编程语言,广泛用于系统编程。
-
C++ 语言(1983):最初称为 "new C",后改为 "C with Class",最终定名为 C++。
-
Java 语言:面向对象的编程语言,广泛用于企业级应用。
-
C# 语言:微软开发的面向对象编程语言,用于 .NET 平台。
-
-
C++ 的演化:

-
C++ 98 (1.0):第一个正式的 C++ 标准。
-
C++ 03 (TR1, Technical Report 1):对 C++ 98 的技术报告,包含一些新特性。
-
C++ 11 (2.0):引入了大量新特性,如自动类型推导、初始化列表、移动语义等。
-
C++ 14:对 C++ 11 的小幅改进和补充。
-
-
C++ 的组成部分:
-
C++ 语言:包括语法、关键字、标准库等。
-
C++ 标准库:提供了一系列常用的类和函数,如容器、算法、输入输出流等。
-
四、学习心得
通过学习侯捷老师的C++ 课程,我对 C++ 的基础知识和演化历程有了更深入的理解。课程内容从基础到高级,逐步引导学员掌握 C++ 的核心概念和编程技巧。特别是对类的编写和类之间的关系的理解,为后续的面向对象编程打下了坚实的基础。
在实际编程中,掌握 C++ 的基础知识和标准库的使用,可以显著提高代码的可读性和可维护性。同时,了解 C++ 的历史和演化,有助于更好地理解语言的设计理念和未来发展方向。
五、总结
老师通过详细的讲解:从基础的变量和类型,到高级的类和对象,再到 C++ 的历史和演化,课程内容丰富而系统。通过学习,我不仅提升了编程相关知识,还明确了要有良好的编程习惯和面向对象的编程思维。
相关文章:
侯捷 C++ 课程学习笔记:C++ 基础与演化
一、课程基础要求 在侯捷老师C 课程中,首先强调了学习 C 前应具备的基础知识。这些基础知识对于理解 C 的核心概念和编程技巧至关重要。 掌握某种过程式语言(C 语言最佳): 变量(Variables):理解…...
LangChain:AI大模型开发与分布式系统设计
文章目录 第一部分:大模型与 LangChain 基础1.1 大语言模型概述1.2 LangChain 基础 第二部分:模型初始化与调用2.1 自定义大模型架构 第三部分:高级模型设计与优化3.1 提示工程与模型调优3.2 高效处理大规模数据 第四部分:分布式系…...
AI赋能编程:PyCharm与DeepSeek的智能开发革命
在这个智能化的时代,人工智能技术正在深刻地改变着我们的工作方式,尤其是在编程领域。无论是初学者还是资深开发者,都希望借助更高效的工具和智能助手来提升生产力、优化代码质量。今天,我们将聚焦于两个强大的工具:Py…...
c++:stack与deque
1.stack使用 1.1empty 作用:判断栈中是否为空 我们看到这里s1初始化的时候是空初始化,所以用empty来判断出的就是空的栈 1.2size size的作用就是判断栈中的数据个数 1.3push 与vector,string,list不同的是,stack中没有头插尾插的概念 因为栈有一个原则&…...
Linux-C/C++《C++/1、C++基础》(C++语言特性、面向对象等)
这里主要介绍概念为主,主要介绍 C与 C 语言中常用的不同点,和一些新的变化。其中不会去说指针、数据类型、变量类型、判断和循环等这些知识,这些和C 语言基本是一样使用的。我们主要学习 C的面向对象编程,对学习 Qt 有很大的帮助。…...
交易所开发:数字市场的核心动力
数字资产交易所作为连接用户与市场的核心枢纽,已成为推动数字经济发展的关键引擎。其开发不仅需要技术创新,还需兼顾用户体验、合规安全与生态构建,以下是交易所开发的核心要素与实践路径分析: 一、交易所的核心定位与技术架构…...
Spring Boot 应用(官网文档解读)
Spring Boot 启动方式 SpringApplication.run(MyApplication.class, args); Spring Boot 故障分析器 在Spring Boot 项目启动发生错误的时候,我们通常可以看到上面的内容,即 APPLICATION FAILED TO START,以及后面的错误描述。这个功能是通过…...
.Net面试宝典【刷题系列】
文章目录 1、JIT是如何工作的2、值类型和引用类型的区别3、解释泛型的基本原理4、如何自定义序列化和反序列化的过程5、如何使用 IFormattable 接口实现格式化输出6、请解释委托的基本原理7、什么是链式委托8、请解释反射的基本原理和其实现的基石9、如何利用反射来实现工厂模式…...
Unity游戏制作中的C#基础(3)加减乘除算术操作符,比较运算符,逻辑与,或运算符
1. 基本算术运算符 算术运算符主要用于对数值类型(整型和浮点型)进行基本的数学运算。以下是常见的算术运算符及其说明: 运算符描述示例结果加法运算符,用于两个数相加,也可用于字符串连接int a 5 3; string str &…...
如何优化 Webpack 的构建速度?
优化 Webpack 的构建速度是现代前端开发中至关重要的任务。随着项目规模的扩大,构建时间可能会显著增加,影响开发效率。以下是一些实用的方法和策略,以帮助你优化 Webpack 的构建速度。 一、使用生产模式和开发模式 1. 生产模式与开发模式 …...
win10把c盘docker虚拟硬盘映射迁移到别的磁盘
c盘空间本身就比较小、如果安装了docker服务后,安装的时候没选择其他硬盘,虚拟磁盘也在c盘会占用很大的空间,像我的就三十多个G,把它迁移到其他磁盘一下子节约几十G 1、先输入下面命令查看 docker 状态 wsl -l -v 2、如果没有停止…...
conda 配置源
无论是Anaconda vs Miniconda vs Miniforge 中的哪个,只要使用conda就涉及源,换源的目的是为了加速包的获取 修改配置文件 通过修改用户目录下的 .condarc 文件来使用 不同系统下的 .condarc 目录如下: Linux: ${HOME}/.condarcmacOS: ${…...
使用nvm管理node.js版本,方便vue2,vue3开发
在Vue项目开发过程中,我们常常会遇到同时维护Vue2和Vue3项目的情况。由于不同版本的Vue对Node.js 版本的要求有所差异,这就使得Node.js 版本管理成为了一个关键问题。NVM(Node Version Manager)作为一款强大的Node.js 版本管理工具…...
Linux离线环境安装miniconda并导入依赖包
一、实现目标 在Linux离线环境中安装miniconda后,将联网环境中的依赖包导入到离线miniconda中,使得python项目在Linux离线环境中正常运行 二、前置条件 设备需要拷贝的文件联网Linux虚拟机miniconda安装包、依赖包、项目文件离线Linux虚拟机/ 三、实…...
【opencv】图像基本操作
一.计算机眼中的图像 1.1 图像读取 cv2.IMREAD_COLOR:彩色图像 cv2.IMREAD_GRAYSCCALE:灰色图像 ①导包 import cv2 # opencv读取的格式是BGR import matplotlib.pyplot as plt import numpy as np %matplotlib inline ②读取图像 img cv2.imread(…...
泛微OA编写后端Rest接口
泛微OA编写后端Rest接口 前言 具体实现 运行结果 注意要点 总结 前言 在泛微E9中,可以通过注解的方式来编写对外的接口,之前的版本都是通过编写servlet类,然后在web.xml文件中将这个类和访问路径进行编辑之后才好在浏览器中通过输入对应…...
AI助力下的PPT革命:DeepSeek 与Kimi的高效创作实践
清华大学出品《DeepSeek:从入门到精通》分享 在忙碌的职场中,制作一份高质量的PPT往往需要投入大量时间和精力,尤其是在临近截止日期时。今天,我们将探索如何借助 AI 工具 —— DeepSeek 和 Kimi —— 让 PPT 制作变得既快捷又高…...
002 SpringCloudAlibaba整合 - Feign远程调用、Loadbalancer负载均衡
前文地址: 001 SpringCloudAlibaba整合 - Nacos注册配置中心、Sentinel流控、Zipkin链路追踪、Admin监控 文章目录 8.Feign远程调用、loadbalancer负载均衡整合1.OpenFeign整合1.引入依赖2.启动类添加EnableFeignClients注解3.yml配置4.日志配置5.远程调用测试6.服务…...
计算机视觉之图像处理-----SIFT、SURF、FAST、ORB 特征提取算法深度解析
SIFT、SURF、FAST、ORB 特征提取算法深度解析 前言 在图像处理领域亦或是计算机视觉中,首先我们需要先理解几个名词: 什么是尺度不变? 在实际场景中,同一物体可能出现在不同距离(如远处的山和近处的树)…...
DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署
DeepSeek接入Siri(已升级支持苹果手表)完整版硅基流动DeepSeek-R1部署 **DeepSeek** 是一款专注于深度学习和人工智能的工具或平台,通常与人工智能、机器学习、自动化分析等领域有关。它的主要功能可能包括:深度学习模型搜索&…...
Phi-4-mini-flash-reasoning参数详解:Temperature 0.3 vs 0.6在解释深度上的差异
Phi-4-mini-flash-reasoning参数详解:Temperature 0.3 vs 0.6在解释深度上的差异 1. 模型概述 Phi-4-mini-flash-reasoning 是一款专注于复杂推理任务的轻量级文本生成模型。与通用大模型不同,它特别擅长处理需要多步推理和结构化分析的场景࿱…...
AD9516时钟芯片配置避坑指南:从官方软件到FPGA代码的完整流程
AD9516时钟芯片配置避坑指南:从官方软件到FPGA代码的完整流程 在高速数字系统设计中,时钟信号的稳定性和精确性往往决定了整个系统的性能上限。作为时钟树设计中的关键组件,AD9516凭借其灵活的时钟分配能力和低抖动特性,成为众多…...
零信任嵌入式开发时代,C代码如何通过MISRA-C 2026+ISO/IEC TS 24772-3双重合规审计?
更多请点击: https://intelliparadigm.com 第一章:零信任嵌入式开发范式转型与合规性演进全景 传统嵌入式系统长期依赖边界防御模型,而物联网设备爆发式增长、远程固件更新常态化以及边缘计算场景深化,正加速推动零信任原则向资源…...
C++26反射特性正式启用:如何在72小时内将现有模板库升级为零成本反射驱动架构?
更多请点击: https://intelliparadigm.com 第一章:C26反射特性正式启用:零成本元编程范式的跃迁 C26 标准正式将核心反射(Core Reflection)纳入语言规范,标志着编译期元编程从模板元编程(TMP&a…...
TrafficMonitor股票插件:Windows任务栏实时股票监控终极指南
TrafficMonitor股票插件:Windows任务栏实时股票监控终极指南 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 想在Windows任务栏上实时监控股票行情,却不想…...
有道龙虾接入 Kimi K2.6 最强代码模型,长程任务执行能力再跃迁
网易有道日前透露,旗下全场景个人助理 Agent “有道龙虾”(LobsterAI)率先完成对月之暗面最新旗舰模型Kimi K2.6 的接入和支持。 作为国内大厂首个代码 100% 全开源的 AI Agent 产品,有道龙虾与 Kimi K2.6 深度融合后,…...
企业在线考试系统哪个好?企业真正关心的其实不是“便宜”,而是“能不能落地”
现在很多企业都在做数字化培训,也都想通过考试来检验学习效果。可一旦真正开始选系统,问题就来了。网上看了一圈,很多平台看起来功能不少,但真正用到企业内部时,就会发现并没有想象中那么顺手。有的系统适合学校&#…...
避坑指南:H3C S5500-SI交换机LLDP配置常见3大误区(附V5/V7命令差异对照表)
H3C S5500-SI交换机LLDP实战避坑手册:V5/V7双版本深度解析 最近在帮客户做网络改造时,遇到一个典型的LLDP配置问题——两台H3C S5500-SI交换机(分别运行V5和V7系统)通过千兆端口互联后,NMS系统始终无法正确识别链路拓扑…...
第47篇:AI提示工程高级技巧——思维链、少样本学习与角色扮演(操作教程)
文章目录前言环境准备分步操作技巧一:思维链 (Chain-of-Thought, CoT)技巧二:少样本学习 (Few-Shot Learning)技巧三:角色扮演 (Role Playing)完整代码示例:综合应用踩坑提示总结前言 在AI应用开发中,我们常常遇到这样…...
Transformer位置编码插值与YaRN技术解析
1. 位置编码插值与YaRN扩展技术解析在自然语言处理领域,Transformer架构已成为处理序列数据的标准方案。其核心组件之一的位置编码系统,决定了模型对序列顺序的理解能力。传统固定长度位置编码在面对超长文本时面临两大挑战:训练阶段未见过的…...
