C++数组及其基本特征的浅层解读【4】
在Python或者是C#接触数组的时候可没那么多要注意的点,到了C++,好家伙,全是知识点。 这里我也懒得写太多原理性的东西,直接记一下基本常识和怎么去用就行。 声明数组1 . 声明一个数组其实就是告诉编译器申请一个数组变量。2 . 和C#一样,它的声明格式为:Type VarName[];,不难理解,在变量名后面加个[]中括号,就表示它是个数组。3 . 例如我要声明一个整数数值: 1int IntArray[]; 4 . 当然,也可以声明各种数据类型的数组 12345int VarName1[]; // 声明一个整数数组double VarName2[]; // 声明一个高精度浮点数数组float VarName3[]; // 声明一个浮点数数组string VarName4[]; // 声明一个字符串数组char VarName5[]; // 声明一个字符数组 4 . 但要注意的是 当数组的类型为int,那么它的元素只能是整数类型的数据,是什么类型的数值,就是什么类型的数据。 初始化数组1 ....
C++利用mt19937算法自定义一个随机数生成方法【3】
怪不得说C++难学,这里连个随机数生成器都要折腾好久,要是换做C#,一个Random()方法就解决了。话说虽然C++继承了C语言的Rand()函数,但我想说的是,用它生成的随机数的概率精度是真的低。不过到了C++11后,标准库新增了一个新的随机数生产方法,mt19937,下面就来大略的分析和简练一下这个方法。 MT19937随机数生成器1 . mt19937随机数生成器采用的是梅森旋转算法(Mersenne twister)来达到生成随机数,这个算法可以快速产生高质量高精度的32位伪随机数,2 . 使用该算法生成的随机数不仅质量高,速度也快出其他生成器,3 . 看名字也知道,它的取值范围是:2^19937-1,也就是19937的2次方减去1,这个数值非常大,以至于它远远超出了常规计算机和编程语言能够表示的整数范围。实际上,这个数字的位数将非常惊人,远远超出了任何标准整数类型的范围,所以在编程时,已经没有弄清它的取值范围的必要了。 4 . 在C++中,可以通过#include <random>来引入该标准库。5 ....
C++指针详略【2】
指针 指针,是C/C++语言中的一个重要概念及其特点。指针也就是内存地址,它允许你直接操作内存地址。指针可以用来访问和修改内存中的数据,实现动态内存分配,以及实现一些高级编程技术,比如函数指针、指针数组等。 在计算机中,所有的数据都是存放在存储器中的,不同的数据类型占有的内存空间的大小各不相同。内存是以字节为单位的连续编址空间,每一个字节单元对应着一个独一的编号,这个编号被称为内存单元的地址。比如:int 类型占 4 个字节,char 类型占 1 个字节等。系统在内存中,为变量分配存储空间的首个字节单元的地址,称之为该变量的地址。地址用来标识每一个存储单元,方便用户对存储单元中的数据进行正确的访问。在高级语言中地址形象地称为指针。 Microsoft文档 C++指针 声明指针变量1 . 我们可以声明一个指针变量用来专门存储一个值的内存地址。2 . 指针变量是一个特殊的变量,只能用来存储指针类型的值。3 . 我们只需要在正常声明变量的基础上,在变量名前面加一个*号即可,例如: 12// 创建指针变量int * pointer; 4 ....
C++头文件与命名空间的深入浅出【1】
1 . 虽然我学过一段时间的C#,但当我第一次转入到C++的时候,说实话,开始就被头文件给整懵逼了,不过由于C#是在C/C++的基础上衍生的,除了个头文件和一些没见过的点外,后续学起来会相对轻松点。2 . 所以我接下来要说的是头文件和命名空间…… 头文件1 . 头文件(Header Files)是C或C++等编程语言中,用于声明函数、变量、宏和类型定义的文件,它们通常以.h或.hpp等扩展名结尾。头文件使得程序员能够在多个源文件中使用相同的函数和类型定义,而不必重复编写代码。2 . C/C++提供了一套标准库,使用的时候需要用预处理指令#include将其引入,这就被称作头文件,当然,开发者也可以自定义一个函数库,同样使用预处理指令#include将其引入,它的功能和Python的模块导入代码import很相似。3 ....
JavaScript event事件对象
事件对象1 . JavaScript 中,事件对象是一个特殊的对象,它包含了与当前事件相关的所有信息和方法。每当一个事件被触发时,这个事件对象就会被创建并传递给事件处理函数。2 . 通过事件对象,我们可以更加精确的获得到当前事件的详细信息,也可以通过对象的方法做出一些事件处理操作。3 . 事件对象在事件发生时就会被创建,并传递给事件处理函数,JavaScript中用event来表示这个事件对象。 常用属性 event.type:返回当前 Event 对象表示的事件的名称event.target: 返回触发此事件的元素(事件的目标节点)event.currentTarget:返回其事件监听器触发该事件的元素event.bubbles:返回布尔值,指示事件是否是起泡事件类型 1 . 我们可以将它们输出一下,实例看看四个分别起到什么样的作用: 123456789101112131415<body> <input name="main" type="button"...
JavaScript event事件
事件在JavaScript中,事件指的是网页上的用户行为或浏览器行为,例如:点击按钮,提交表单,页面完成加载,鼠标点击,键盘输入等。事件处理是 JavaScript 中非常重要的一部分,我们可以通过监听这些事件以此来触发一些预订好的效果。 当在 DOM 元素上发生事件时,浏览器会创建一个 Event 对象的实例,并触发绑定到该元素上相应的事件处理函数。这个 Event 对象作为参数传递给事件处理函数,使得开发者能够访问事件的相关信息并对事件做出响应。 事件处理1 . 事件处理指的是当事件被触发时,应该如何处理这些事件。2 . 举个栗子:当我们进入一个网站时,并且页面完成加载,这就触发了一个事件,在事件处理上,网站可以给用户一个欢迎弹窗,或者当我们输入密码,密码输入错误时,提示密码输入错误。这些都是对事件的处理。 DOM事件处理方法 JavaScript中常用的事件处理方法有三种,分别是DOM0,DOM2,DOM3。 DOM0级事件1 . DOM0级事件是在Web开发中逐渐形成的,而并非W3C规定的,但却在开发中获得了广泛的应用。2 ....
JavaScript DOM 方法详解
DOMDOM全称(Document Object Model)文档对象模型,一个编程接口,它表示和操作HTML和XML文档。DOM将网页结构化为一个由节点和对象(如元素、属性和文本)组成的树状结构,使得Web文档可以被程序化地访问和修改。当网页被加载时,浏览器会创建页面的文档对象模型 获取元素JavaScript提供了一些用于通过DOM获取元素的方法 document.getElementById(): 通过元素的ID获取元素。document.getElementsByTagName(): 通过标签的名称获取元素集合。document.getElementsByClassName(): 通过类名获取元素集合。document.getElementsByName(): 通过name值获取元素集合document.querySelector(): 根据CSS选择器获取第一个匹配的元素。document.querySelectorAll():...
经典算法题
排序冒泡排序 1 . 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。2 . 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。3 . 走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。4 . 这个算法的名字由来是因为越小的元素会经由交换慢慢”浮”到数列的顶端。 代码分析 1234567891011121314151617181920212223242526using System;namespace almango{ class Project { static void Main(string[] args) { int[] array = new int[]{2, 5, 3, 6, 1, 8, 4}; int temp; for(int i = 0; i < array.Length - 1; i ++) // 0 { for(int a = 0; a < array.Length - 1; a...
《你的名字》2024重映观后感:不留人生遗憾
《你的名字》在中国大陆于2016年12月2日上映,2024年7月19日重映。 8月1日那天晚上,去电影院观看了重映的《你的名字》,弥补了从小学至今为止的遗憾。 为什么要特地讲一部电影的观后感?那是因为我和它有过一个意味深长的故事,我也为此将它视为我的挚爱…… 2016年的那天1 . 2016年《你的名字》正式上映的那天,我还是一个六年级的小学生。2 . 虽然我最早是在2016年接触这部电影,也算是我接触到的第一部映画形式的电影了,但那年因为一个小小的事情……3 . 我记得很清楚,我们的语文老师为了给我们活动结束放松一下,特地用一体机给我们放电影看。由于《你的名字》过于火爆,在很多平台都霸榜了,所以我们的语文老师也是毫无悬念的选择了这部电影。4 . 看过这部电影的都知道,电影开头多少有点少儿不宜的画面,这也就导致电影刚放没多久就被老师及时换掉了,确实有点扫兴…… 5 . 虽然那个时候觉得换掉了也没什么,估计我那幼稚的心灵也看不懂。 2019年的那天1 . 到了2019年,我正读初二,应该是放暑假还是春节期间。2 ....
TypeScript_环境部署【2】
安装安装Node.js Node.js 是一个开源的、跨平台的 JavaScript 运行时环境。 1 .TypeScript 代码本身不能直接在浏览器中运行,它需要被编译成 JavaScript 代码。Node.js 提供了一个运行时环境,可以执行 JavaScript 代码,因此可以用于运行编译后的 TypeScript 代码。同时它还提供了丰富的工具和库,使得 TypeScript 的开发更加方便和高效。 2 . 官网下载:https://nodejs.cn/ 3 . 检查是否安装成功 1node --version 安装编译器 TypeScript一种编译型语言,无法直接在浏览器中运行,需要先将其编译为JavaScript代码才可以,所以我们需要先安装ts编译器tsc。 1 . 在终端输入以下命令: 1npm install -g typescript 2 . 检查是否成功 1tsc -v 第一个程序 安装完成后,可以试着写一串ts代码 1 . 代码写完后,保存,例如文件名称为:index.ts2 . 接下来进行编译3 . 在终端输入tsc...