这篇文章呢我们接着上一篇的内容,继续C++类和对象的学习。1. 类的6个默认成员函数通过上一篇文章的学习,我们知道如果一个类中没有成员变量,也没有成员函数,啥也没有,那我们把它叫做空类。 即如果一个类中什么成员都没有,简称为空类。比如:代码语言:javascript复制class Date { }; 那现在问大家一个问题:空类中真的什么都没有吗?🆗 ......
31
0
0
2024-05-04
​这篇文章我们开始学习C++中的类和对象。1. 面向过程和面向对象初步认识我们之前学的C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。而C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。2.类的引入我们之前在C语言中学过结构体:但是C语言中的结构体只能定义变量,比如:对于这个结构体来说: ......
30
0
0
2024-05-04
引言在Android开发中,数据的管理是一个至关重要的问题。随着应用复杂度的增加,我们需要一种能够有效管理数据和处理UI相关逻辑的机制。Android架构组件中的ViewModel应运而生。本文将深入探讨ViewModel的原理,并介绍其高级运用,旨在帮助开发者更好地理解和运用这一组件。什么是ViewModel?ViewModel是一种设计模式,它的目标是将 ......
74
0
0
2024-05-04
前言预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译。C语言提供多种预处理功能,主要处理#开始的预编译指令,如宏定义(#define)、文件包含(#include)、条件编译(#ifdef)等。合理使用预处理功能编写的程序便于阅读、修改、移植和 ......
26
0
0
2024-05-04
这篇文章我们一起来学习一下C/C++程序的内存开辟以及柔性数组!!!1. C/C++程序的内存开辟C和C++的内存开辟方式是非常类似的,这篇文章我们就来学习一下C/C++程序的内存开辟。在之前的文章里其实我们简单的介绍过C语言中的内存划分。 大致可以分为:栈区,堆区和静态区:那今天,我们来更加细致的细致的讲解一下C/C++程序的内存开辟。 首先,我们来看一张 ......
23
0
0
2024-05-04
这篇文章,我们一起来学习C语言中的动态内存管理!!!1.为什么存在动态内存分配我们先来想一下,我们现在掌握的开辟内存的方式是什么:是不是就是直接创建一个变量或者数组,然后操作系统给我们分配空间:代码语言:javascript复制int main() { int val = 20;//在栈空间上开辟4个字节 int arr[10] = { 0 };/ ......
28
0
0
2024-05-04
作者 | Nefe Emadamerho译者 | 许学文策划 | 丁晓昀希腊哲学家赫拉克利特认为,变化是生命中唯一不变的东西。这句话适用于我们的个人生活、行业和职业领域。尤其是前端开发领域,新技术、开发趋势、库和框架不断涌现,变化并不陌生。最近发生的一些事件正在改变开发人员构建网站和 Web 应用的方式,其中包括支持服务器端渲染的 Angular 17 发布 ......
102
0
0
2024-05-03
上一篇文章我们学习了多态的语法,想必大家都会有很多疑问,这篇文章,我们就来带大家看看多态是如何实现的,它底层的原理是怎样的…前言需要声明的,本文中的代码及解释都是在vs2022下的x86程序中,涉及的指针都是4bytes。 如果要其他平台下,部分代码需要改动。比如:如果是x64程序,则需要考虑指针是8bytes问题等等1. 虚函数表指针与虚函数表首先,我们来 ......
37
0
0
2024-05-03
1.游戏规则扫雷的详细规则是随便点开一个方格,根据展开方格的数字去推断其相邻九宫格内未展开方格下面是否是地雷,最终任务就是点开所有没有地雷的方格,以找出所有的地雷。 要取得高分,就必须在尽量短的时间内清除所有的地雷。 得分计算方法:扫雷得分=分数基数X难度系数/扫雷时间,其中分数基数为10000,难度系数=每局地雷数/每局总格子数,扫雷时间按毫秒计算。所需要 ......
32
0
0
2024-05-03
1.实现功能本文将采用C语言来实现一个简单的通讯录,要求功能如下代码语言:javascript复制//实现一个通讯录 //1.可以保存100个人的信息 //2.增加人的信息 //3.删除指定联系人的信息 //4.查找 //5.修改 //6.排序 //7.显示所有联系人 下面我们来一步步实现2.实现细节与具体思路1.主程序设计首先,设计一个主程 ......
34
0
0
2024-05-03
1. 单继承在上一篇文章中,我们给大家演示的其实都是单继承。单继承的概念:单继承:一个子类只有一个直接父类的继承关系为单继承2. 多继承然后呢C++里面还支持多继承,那什么是多继承呢?一个子类有两个或以上直接父类时称这个继承关系为多继承比如一个类表示汽车,另一个类表示飞机。现在你希望创建一个新的类,使得它既可以像汽车一样在地上跑,又可以像飞机一样在天上飞,即 ......
30
0
0
2024-05-03
一.AVL树的概念我们知道,二叉搜索树的效率很高,如果数据有序或接近有序二叉搜索树将退化为单支树,查 找元素相当于在顺序表中搜索元素,效率低下,为了解决这个问题,AVL树(平衡二叉树)就出现了。AVL树的性质:它的左右子树都是AVL树左右子树高度之差(简称平衡因子)的绝对值不超过1(-1/0/1)(右子树-左子树)上图就是一个AVL树,每个节点上的数字为这个 ......
27
0
0
2024-05-03
前言这篇文章我们要学习权限,那学之前我们先来做一件事情。 在前面的学习中我们基本都是用root用户登录的,那这节的内容可能会用到普通用户登录,所以先来带大家了解一下如何创建一个普通用户。 其实很简单:我现在是root用户登录,然后我们来创建一个普通用户 怎么创建呢——adduser 用户名(用户名是我们自己起的)然后,我们看到在/home下面就有创建好的这个 ......
81
0
0
2024-05-03
这篇文章我们来学习排序。1. 排序的概念及其运用1.1 排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在 ......
28
0
0
2024-05-03
一.task_ struct内容分类标示符(pid): 描述本进程的唯一标示符,用来区别其他进程; 状态(status): 任务状态,退出代码,退出信号等; 优先级(PRI): 相对于其他进程的优先级; 程序计数器: 程序中即将被执行的下一条指令的地址; 内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针上下文数据: & ......
88
0
0
2024-05-03