计算机编程中,函数是一种独立的代码块用于实现特定的功能,并被设计为可重用的代码。函数是面向过程程序设计的基本单元,它可将程序划分为若干独立的功能模块,利于代码的维护和管理。 常见的一个函数由函数的返回值类型、函数名、参数表、函数体这 4 个部分组成。 1. 函数默认参数 在 C++ 中,函数的形参列表中的形参是可以有默认值的。 语法: 返回值类型 函数名 (参数 = 默认值){} 示例: int func(int a, int b = 10, int c = 10) { return a + b + c; } //1. 如果某个位置参数有默认值,那么从这个位置往后,从左向右,必须都要有默认值 //2. 如果函数声明有默认值,函数实现的时候就不能有默认参数 int func2(int a = 10, int b = 10); int func2(int a, int b) { return a + b; } int main() { cout << "ret = " << func(20, 20) << end
索引结构 MySQL 的索引是在存储引擎层实现的,不同的存储引擎有不同的结构,主要包含一下几种: B+Tree 索引,最常见的索引类型,大部分引擎都支持 B+Tree 索引 Hash 索引,底层数据结构是用哈希表实现的,只有精确匹配索引列的查询才有效,不支持范围查询 R-tree(空间索引) ,空间索引是 MyISAM 引擎的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少 Full-text(全文索引) ,是一种通过建立倒排索引,快速匹配文档的方式。类似于 Lucene,Solr,Es 函数 InnoDB MyISAM Memory B+tree索引 支持 支持 支持 Hash索引 不支持 不支持 支持 R-tree索引 不支持 支持 不支持 Full-text 5.6版本后支持 支持 不支持 1. 索引结构 - B+tree 二叉树 二叉树缺点:顺序插入时,会形成一个链表,查询性能大大降低。大数据量情况下,层级较深,检索速度慢。 红黑树:大数据量情况下,层级较深,检索速度慢。 B-Tree(多路平衡查找树) 以一颗最大度数
生成树技术背景 以太网交换网络上为了进行链路备份,通常会使用冗余链路,但是使用冗余链路会在交换网络上形成环路,并导致广播风暴以及 MAC 地址表不稳定等故障现象,从而导致用户通信质量较差,甚至通信中断。生成树协议(STP)运行以太网交换机上,为解决网络中的环路问题再网络上修剪出一颗无环的树,并在主链路出现故障后自动启用备份链路,使网络工作正常。最新的 STP 标准由 1998 年发布的 IEEE802.1D 标准文档定义。 简单来说有以下几点: 交换机单链路上行,存在单点故障,线路和设备都不具备冗余性。 任何一条链路或者设备故障,网络将面临断网。 二层环路 冗余拓扑能够解决单点故障问题。但是冗余拓扑带来了二层环路问题。实际网络环境中,经常产生二层环路从而引发网络故障。 如果为了保证网络运行的稳定性,在以太网交换网络上使用冗余链路进行了链路备份,如下图: 在使用了冗余链路后,出现了二成交换网络的环路,引发了广播风暴、MAC 地址表不稳定等问题。 1. 广播风暴 网络中若存在二层环路,一旦出现广播数据帧,这些数据帧将被交换机不断泛洪,造成广播风暴。 广播风暴对网络危害非
什么是图形用户界面? 图形用户界面:GUI(Graphics User Interface),指采用图形方式显示的计算机操作,是计算机与其使用者之间的接口对话,是计算机系统的重要组成部分。 一、 控制鼠标 电脑屏幕的坐标系 引入笛卡尔直角坐标系,以屏幕左上点为原点,X 轴正方形水平左右,Y 轴正方形铅锤向下,此坐标系的单位距离是像素点。 左上角的像素位于 (0, 0), 如果此时屏幕的分辨率为 1920 * 1080,则右下角的坐标为 (1919, 1079)。 像素图是由许多像素点组成的,一个像素点是指具有某个颜色的小正方形。一般情况,像素点越多,图片越细腻。 获取屏幕分辨率的大小 pyautogui.size() 获取当前鼠标的位置 pyautogui.position() 检查 XY 坐标是否在屏幕上 pyautogui.onScreen() 如果他们位于屏幕的边界内,返回 True ;否则,返回 False 传入参数:两个整数参数或带有两个整数的单个元组或列表 鼠标运动 pyautogui.moveTo(X, Y) :传递坐标后,鼠标光标移动
在面向对象的编程语言中,我们经常听见一些名词,引用、地址。而引用则是引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用 &代替了 *。引用(reference)是 C++ 对 C 语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 注意:引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。 1.引用的基本使用 作用: 给变量起别名。 语法: 数据类型 &别名 = 原名 示例 : int main() { int a = 10; int &b = a; cout << "a = " << a << endl; cout << "b = " << b << endl; b = 100; cout << "a = " << a << endl; cout <
Justin_Wu
山不让尘,川不辞盈
本网站由 提供CDN加速/云存储服务
鄂ICP备2023005457号 鄂公网安备 42011302000815号