1.前言C++中包含头文件存在两种不同的形式,尖括号和双引号"",其区别在于搜索范围和搜索顺序。以VisualStudio2022为例,我们创建一个工程,在里面添加主函数main.cpp的文件,以及头文件test.hProject├──main.cpp└──test.h2.搜索范围只可以访问系统目录下的头文件(.h),""可以访问当前文件相对路径+系统目录下的头文件(.h)。使用#include系统会只会显示并搜索系统目录里的头文件。因此#include会报错。#include//错误,在标准库内找不到test.h文件使用#include""系统会显示当前目录下的文件,但实际上也是可以包含系统
哈希表理论基础 要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set 和map。 什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。 这句话很重要,大家在做哈希表题目都要思考这句话。1.哈希表定义哈希表(英文名字为Hashtable,国内也有一些算法书籍翻译为散列表,大家看到这两个名称知道都是指hashtable就可以了)。哈希表是根据关键码的值而直接进行访问的数据结构。直白来讲其实数组就是一张哈希表。哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素,如下图所示:那么哈希表能解决什么问题呢,一般哈希表都是
我定义了一个表:CREATETABLEplayers(playeridINTEGERPRIMARYKEYAUTOINCREMENTNOTNULL,nameVARCHAR(20)NOTNULLUNIQUE,addedDATETIMEDEFAULTCURRENT_TIMESTAMP);CURRENT_TIMESTAMP不断插入1970-01-01。我不太清楚这个日期的重要性以及一些时间戳是如何从它开始的正/负偏移;然而,从我读到的elsewhere,我的默认时间戳应该使用当前时间/日期,正如建议的那样。另外,时间戳不应该包括时间(从1970年或其他时间开始)吗?谢谢!:)
我定义了一个表:CREATETABLEplayers(playeridINTEGERPRIMARYKEYAUTOINCREMENTNOTNULL,nameVARCHAR(20)NOTNULLUNIQUE,addedDATETIMEDEFAULTCURRENT_TIMESTAMP);CURRENT_TIMESTAMP不断插入1970-01-01。我不太清楚这个日期的重要性以及一些时间戳是如何从它开始的正/负偏移;然而,从我读到的elsewhere,我的默认时间戳应该使用当前时间/日期,正如建议的那样。另外,时间戳不应该包括时间(从1970年或其他时间开始)吗?谢谢!:)
704-二分法题目链接:二分查找关键问题: -边界(left、right)、当前查找值(middle) -target大于当前查找值-->当前查找区域的右边,更改区间left -target小于当前查找值-->当前查找区域的左边,更改区间right -middle的计算:(right-left)/2 +left -查找区间 -开区间or闭区间-->涉及while的判断条件即target不存在的情况时空复杂度: -时间复杂度:数组长度为n,查找区间的长度:n、n/2、n/4、n/8、...、n/2^k -->O(
网上的教程大多无法正常烧录与使用,因此在这里进行总结。1ESP-01S烧录固件烧录建议使用专用的烧录器,十分省心。本文讨论的是使用普通的CH340串口模块进行烧写。必须使用的工具:杜邦线、CH340串口模块、另外一块有3V3电源和GND的开发板。1.1烧写前连线CH340TTL转USB模块的引脚数量不够,因此需要另外一块开发板的引脚给ESP-01S提供高低电平。注意:CH340的VCC引脚不要连接,电压比较高,可能会烧坏ESP-01S。另一块开发板也要用USB线连接到电脑上。CH340模块的供电不够,因此ESP-01S_VCC不连接到CH340,一般来说开发板供电都比较大,电源连接到开发板上。
今天项目中新增了一部分接口,本地测试好之后打包部署到测试环境,数据库竟然连接失败,报错信息如下:createconnectionerror,url:jdbc:mysql://ip/数据库名,errorCode0,state08S01,这个报错信息的意思数数据库连接异常,相信很多人都遇到过,现在总接一下数据库远程连接遇到此问题的定位思路。1.确定mysql进程是否正在运行ps-ef|grepmysqld如果没有运行,可以启动mysql,启动方式:servicemysqlstartsudoservicemysqldstart不同的安装方式启动命令会有不同,可以参考:超详细的linux部署m
今天项目中新增了一部分接口,本地测试好之后打包部署到测试环境,数据库竟然连接失败,报错信息如下:createconnectionerror,url:jdbc:mysql://ip/数据库名,errorCode0,state08S01,这个报错信息的意思数数据库连接异常,相信很多人都遇到过,现在总接一下数据库远程连接遇到此问题的定位思路。1.确定mysql进程是否正在运行ps-ef|grepmysqld如果没有运行,可以启动mysql,启动方式:servicemysqlstartsudoservicemysqldstart不同的安装方式启动命令会有不同,可以参考:超详细的linux部署m
org.junit.platform.commons.PreconditionViolationException:Class[java8.chapter07.demo01.ForkJoinSum场景问题排查总结场景用分支/合并框架执行并行求和,通过Junit进行测试。packagejava8.chapter07.demo01;importorg.junit.jupiter.api.Test;importjava.util.concurrent.ForkJoinPool;importjava.util.concurrent.ForkJoinTask;importjava.util.concur
Js简介什么是Js?Js最初被创建的目的是“使网页更生动”。Js写出来的程序被称为脚本,Js是一门脚本语言。被直接写在网页的HTML中,在页面加载的时候自动执行脚本被以纯文本的形式提供和执行,不需要特殊的准备或编译即可运行(JINcompiler)Js不仅可以在浏览器中执行,也可以在服务端执行,本质上是它可以在任意搭载了Js引擎的设备中执行。浏览器中嵌入了Js引擎,有时也称作“JavaScript虚拟机”,不同的引擎有不同的“代号”,例如:V8——Chrome、Opera和Edge中的Js引擎。SpiderMonkey——Firefox中的Js引擎。Chakra——IEJavaScriptCo