自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 收藏
  • 关注

原创 Day32 # 和 ## 运算符

当 CONCAT 出现在程序中时,它的参数会被连接起来,并用来取代宏。例如,程序中 CONCAT(HELLO, C++) 会被替换为 “HELLO C++”,如下面实例所示。# 和 ## 预处理运算符在 C++ 和 ANSI/ISO C 中都是可用的。# 运算符会把 replacement-text 令牌转换为用引号引起来的字符串。让我们来看看它是如何工作的。让我们来看看它是如何工作的。

2024-12-29 20:52:38 438

原创 D31 C++ 预处理器(一)

1.什么是预处理器?有什么好处呢?预处理器是一些指令,指示编译器在。所有的预处理器指令都是以井号(#)开头,只有空格字符可以出现在预处理指令之前。预处理指令不是 C++ 语句,所以它们不会以分号(;)结尾。我们已经看到,之前所有的实例中都有指令。这个宏用于把头文件包含到源文件中。C++ 还支持很多预处理指令,比如 #include、#define、#if、#else、#line 等,让我们一起看看这些重要指令。

2024-12-24 17:42:16 468

原创 Day30 C++内存泄漏检查工具篇章 Valgrind

在写大型C/C++工程时难免会发生,系统编程中一个重要的方面就是有效地处理。你的工作,你就需要面对。有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦。内存问题非常难定位,对于小工程来说,简单去检查代码中new和delete的匹配对数就基本能定位到问题,但是一旦代码量上升到以万单位时,仅靠肉眼检查来定位问题那就非常困难了,所以我们需要利用工具帮助我们找出问题所在。在Linux系统下内存检测工具首推,一款非常好用的开源内存管理框架。

2024-12-23 14:38:31 997

原创 Day29 C++ 模板

class中的const放在函数声明的末尾,是用于修饰成员函数,表示这个成员函数不会修改对象的状态(即不会修改类的成员变量)。如果没有const,那么在const对象上不能调用这个函数,因为它承诺可能会修改对象的状态。这是 C++ 中的一个设计约定,使得程序员能够明确知道哪些成员函数不会修改对象的状态,从而允许在常量对象上调用这些函数。1.什么是模板?在 C++ 中,模板(Template)是一种泛型编程的技术,它允许我们编写可以处理多种数据类型的代码,而不必重复编写每种数据类型的实现。

2024-12-21 17:15:27 586

原创 Day28 C++ 命名空间

命名空间的定义使用关键字namespace// 代码声明 }name::code;// code 可以是变量或函数。

2024-12-20 20:45:14 702

原创 Day27 C++ 动态内存

包括。

2024-12-19 11:26:31 362

原创 Day26 C++ 异常处理

您可以通过继承和重载exception类来定义新的异常。try块:用来放置可能会抛出异常的代码。catch块:用来捕获异常并进行处理。每个catch块负责处理特定类型的异常,catch块的顺序很重要,应该先捕获更具体的异常,再捕获更一般的异常。

2024-12-18 17:14:54 933

原创 Day25 C++ 文件和流

到目前为止,我们已经使用了标准库,它提供了和方法分别用于从标准输入读取流和向标准输出写入流。本教程介绍如何从文件读取流和向文件写入流。这就需要用到 C++ 中另一个标准库要在 C++ 中进行文件处理,必须在 C++ 源代码文件中包含头文件 和。

2024-12-17 16:24:42 926

原创 2024.12.16 Linux是如何收发数据包的?

电脑与电脑之间通常都是通过网卡、交换机、路由器等网络设备连接到一起,那由于网络设备的异构性国际标准化组织定义了一个七层的 OS!网络模型,但是这个模型由于比较复杂,实际应用中并没有采用而是采用了更为简化的 TCP/IP 模型Linux 网络协议栈就是按照了该模型来实现的。TCP/IP 模型主要分为应用层、传输层、网络层、网络接口层四层,每一层负责的职责都不同,这也是Linux 网络协议栈主要构成部分。当应用程序通过 Socket 接口发送数据包,数据包会被网络协议栈从上到下进行逐层处理后,才会被送到。

2024-12-16 20:20:22 946

原创 Day24 C++ 接口(抽象类)

接口描述了类的行为和功能,而不需要完成类的特定实现。C++ 接口是使用来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现与相关的分离开的概念。如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。设计(通常称为 ABC)的目的,是为了给其他类。抽象类不能被用于实例化对象,它只能作为使用。如果试图实例化一个抽象类的对象,会导致编译错误。因此,如果一个 ABC 的子类,则必须实现每个纯虚函数,这也意味着 C++ 支持使用 ABC 声明接口。如果没有在派生类中重写。

2024-12-16 15:08:01 418

原创 2024.12.15 TCP/IP 网络模型有哪几层?(二)

IP 头部中的接收方 IP 地址表示网络包的目的地,通过这个地址我们就可以判断要将包发到哪里,但在以太网的世界中,这个思路是行不通的。电脑上的以太网接口,Wi-Fi接口,以太网交换机、路由器上的千兆,万兆以太网口,还有网线,它们都是以太网的组成部分。,因此必须采用相匹配的方式才能在以太网中将包发往目的地,而 MAC 头部就是干这个用的,所以,在以太网进行通讯要用到 MAC 地址。发送原始数据包,工作在网卡这个层次,使用 MAC 地址来标识网络上的设备。,TCP 层的传输单位是。,IP层的传输单位是。

2024-12-15 20:09:53 462

原创 Day23 C++ 数据封装

数据封装是将**对象的状态(数据)和行为(方法)**绑定在一起,

2024-12-15 19:56:15 708

原创 2024.12.14 TCP/IP 网络模型有哪几层?

对于不同设备上的进程间通信,就需要网络通信,而设备是多样性的,所以要兼容多种多样的设备,就协商出了一套通用的网络协议。这个网络协议是分层的,每一层都有各自的作用和职责我们今天学习的是第一个应用层,我们电脑或手机使用的应用软件都是在应用层实现。那么,当两个不同设备的应用需要通信的时候,应用就把应用数据传给下一层,也就是第二个知识点传输层。

2024-12-14 16:32:35 1243 1

原创 Day22 C++ 数据抽象

是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。数据抽象是一种依赖于和实现分离的编程()技术。让我们举一个现实生活中的真实例子,比如一台电视机,您可以(如喇叭、录像机、DVD 播放器),但是您不知道它的内部实现细节,也就是说,您并不知道它是如何通过缆线接收信号,如何转换信号,并最终显示在屏幕上。因此,我们可以说电视把它的和分离开了,您无需知道它的内部实现原理,直接通过它的(比如电源按钮、遥控器、声量控制器)就可以操控电视。

2024-12-14 15:55:05 356

原创 Day21 C++多态

但具体实现由派生类负责。纯虚函数使得基类变为。

2024-12-13 14:28:42 773

原创 Day20 C++ 重载运算符和重载函数

C++ 允许在同一作用域中的某个和指定多个定义,分别称为和。是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个或时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为。带着下面的问题学习下面的知识:1.什么是函数重载?它的作用范围是哪里呢?它的作用对象是哪些呢?它是根据什么进行重载函数的呢?2.数学运算符号有哪些呢?编程里面 什么是运算符重载呢?

2024-12-12 12:46:04 645

原创 Day19 C++ 类 & 对象 继承

定义一个类需要使用关键字class,然后指定类的名称,并类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数。定义一个类,本质上是定义一个数据类型的蓝图,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作。以下实例我们使用关键字classclass Boxpublic:// 盒子的长度// 盒子的宽度// 盒子的高度关键字public确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。您也可以指定类的成员为private或protected。

2024-12-11 10:32:42 304

原创 Day18 C++数据结构

C++ 提供了多种数据结构,既有基础的如数组、结构体、类等,也有高级的 STL 容器如vectormap和等。数组、链表、动态数组、队列、双端队列、栈、结构体、类、1.哈希表和映射有什么区别?2.之前学的c++哪个数据结构的底层实现是哈希表?3.map 和 unordered_map有什么区别呢?下面详细介绍 C++ 中常用的数据结构及其特点和用法。

2024-12-10 16:29:54 779

原创 Day17 C++ vector 容器

类比成数组C++ 中的 vector 是一种序列容器,它允许你在运行时动态地插入和删除元素。vector 是基于数组的数据结构,但它可以自动管理内存,这意味着你不需要手动分配和释放内存。与 C++ 数组相比,vector 具有更多的灵活性和功能,使其成为 C++ 中常用的数据结构之一。vector 是 C++ 标准模板库(STL)的一部分,提供了灵活的接口和高效的操作。vectorvectorvectorforvector要使用 vector,首先需要包含。

2024-12-03 11:06:10 471

原创 Day16 输入输出流和结构体

在 C++ 中,struct 语句用于定义结构体(structure)。结构体是一种用户自定义的数据类型,用于将不同类型的数据组合在一起。与类(class)类似,结构体允许你定义成员变量和成员函数。为了定义结构,您必须使用struct语句。struct 语句定义了一个包含多个成员的新的数据类型,struct 语句的格式如下:···type_name是结构体类型的名称,是标准的变量定义,比如int i;或者float f;或者其他有效的变量定义。

2024-12-01 22:03:46 390

原创 Day15 C++ 日期 & 时间

C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 头文件。和。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。结构类型下面是 C/C++ 中关于日期和时间的重要函数。所有这些函数都是 C/C++ 标准库的组成部分,您可以在 C++ 标准库中查看一下各个函数的细节。

2024-11-29 22:14:19 507

原创 Day14 C++ 引用

引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。

2024-11-28 22:16:52 673

原创 Day13 C++指针

指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。在这里,type是指针的基类型,它必须是一个有效的 C++ 数据类型,var-name是指针变量的名称。用来声明指针的星号 * 与乘法中使用的星号是相同的。但是,在这个语句中,星号是用来指定一个变量是指针。int *ip;/* 一个整型的指针 */double *dp;/* 一个 double 型的指针 */float *fp;/* 一个浮点型的指针 */

2024-11-27 22:38:28 862

原创 Day12 C++ 数字、数组和字符串

我们已经在之前章节的各种实例中定义过数字。实例// 数字定义short s;int i;long l;float f;double d;// 数字赋值s = 10;i = 1000;f = 230.47;// 数字输出return 0;

2024-11-26 18:20:44 605

原创 Day11 C++ 循环、C++ 判断和C++函数

在 C++ 中,函数由一个函数头和一个函数主体组成。**返回类型:**一个函数可以返回一个值。是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字void。**函数名称:**这是函数的实际名称。函数名和参数列表一起构成了函数签名。**参数:**参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。

2024-11-25 17:22:31 841

原创 Day10 C++ 运算符

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。

2024-11-20 11:20:50 952

原创 Day09 C++ 存储类

这些说明符放置在它们所修饰的类型之前。

2024-11-12 09:57:01 1259

原创 Day08 C++ 修饰符类型

最近忙的有点耽误了 ,还是要保持长期主义,今天继续来看知识点!

2024-11-11 16:27:25 936

原创 Day07 C++ 常量

使用#define预处理器。使用const关键字。

2024-11-06 11:04:41 984

原创 Day06 C++ 变量作用域

*注意:**如果在内部作用域中声明的变量与外部作用域中的变量同名,则内部作用域中的变量将覆盖外部作用域中的变量。

2024-11-05 16:34:08 423

原创 Day05 C++ 变量类型

变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。在这里,type必须是一个有效的 C++ 数据类型,可以是 char、wchar_t、int、float、double、bool 或任何用户自定义的对象,可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。char c, ch;double d;行声明并定义了变量 i、j 和 k,这指示编译器创建类型为 int 的名为 i、j、k 的变量。变量可以在声明的时候被初始化(指定一个初始值)。// d 和 f 的声明。

2024-11-04 14:30:49 631

原创 Day04 C++ 注释 和 C++数据类型

程序的注释是解释性语句,您可以在 C++ 代码中包含注释,这将提高源代码的可读性。所有的编程语言都允许某种形式的注释。C++ 支持单行注释和多行注释。注释中的所有字符会被 C++ 编译器忽略。注释以开始,直到行末为止。当上面的代码被编译时,编译器会忽略和C++ 注释以开始,以 *终止。块注释符(//)是不可以嵌套使用的。属于条件编译,0 即为参数。此外,我们还可以使用你可以把改成来执行的代码。这种形式对程序调试也可以帮助,测试时使用来执行测试代码,发布后使用来屏蔽测试代码。后可以是任意的条件语句。

2024-11-03 14:20:09 951

原创 Day03 C++ 基本语法

C++ 程序可以定义为,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。

2024-11-02 18:51:44 698

原创 Day02 C++ 环境设置

如果您想要设置 C++ 语言环境,需要确保电脑上有以下两款可用的软件,和。

2024-11-01 14:53:45 898

原创 C++简介

C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。

2024-10-31 19:58:59 329

原创 ICL中稿时间线

硕士期间的小论文中稿了!刚好用来评奖学金,太棒了!2024年7月20号。2024年9月14号。2024年8月17号。2024年8月27号。2024年9月17号。2024年9月17号。2024年9月27号。

2024-10-27 14:19:41 256

原创 代码随想录八股训练营总结篇 2024年8月

​ 随着秋招的临近,我意识到自己需要迅速提升各方面的技术能力。但是在准备过程中,我自己学习动力不足,常常难以坚持。为了找到一群志同道合的学习伙伴,共同营造学习氛围,我决定报名参加八股训练营。参加训练营的初衷是希望能够系统性地学习这些领域的核心内容,并将其应用到实际工作中。我带着这样的期待,从2024年7月22号开始了这段为期40天的学习之旅。​ 虽然训练营已经结束,但学习并没有停止。我计划将这40天所学的知识点重新复习一遍,通过温故而知新,进一步巩固理解。

2024-08-31 11:00:42 1123

原创 Day08 Java复习8 Spring MVC概念

他是派对的指挥官,负责确保所有的客人(请求)都能找到他们要去的活动区(控制器)并且得到他们想要的礼物(响应)。这些东西之间的关系就像是不同的派对策划团队,每个团队都有各自的职责,但是他们一起工作,帮你举办一场成功的生日派对。通过学习它们,你就可以更容易地举办一个大家都会喜欢的派对,也就是说,你可以更容易地创建一个很棒的Java程序。它取一些普通的东西,比如说气球(数据),然后把它们变成美丽的装饰(网页),这样每个人看到的时候都会觉得,“哇,这个派对真是太棒了!spring mvc 的核心组件是什么?

2024-03-24 10:22:19 889

原创 Day07 Java复习7 DI注入的分类

在编程里,DI(依赖注入)就像是在组织一个派对时,有人帮你准备派对需要的东西,比如气球、蛋糕、饮料等等。这个帮手让你不用亲自去商店买这些东西,而是直接送到你的派对现场。这些都是帮助你组织派对的不同方法,或者在编程里,是帮助你的代码获取它需要的部分的不同方式。每种方式都有它的使用场景,取决于你想怎样组织你的派对或者你的代码。

2024-03-20 22:25:21 337

原创 Java复习06 Spring 代码概念

你只需要告诉Spring你需要什么,Spring就会给你准备好,并且当你需要的时候给你。所以,总结一下,这段代码就是一个自动化的帮手,确保你的派对上有对的蛋糕、音乐和时钟,这样你就可以轻松享受派对,不用担心这些细节。这就是JAVA编程中的依赖注入(DI)的魅力,它帮助我们自动连接和组织需要的部分,使得我们可以更专注于派对的乐趣,也就是编程的主要任务。你得到了一张特别的通行证,这张通行证可以让你进入一个有很多不同房间的大房子,每个房间都有不同的玩具和游戏。”就像是魔法精灵,它可以自动地给你想要的东西。

2024-03-20 22:09:33 782

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除