自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL常见指令

如数值类型包括整数类型和浮点数类型 整数类型根据占用的存储空间的不同 又包括TINYINT(1字节),SMALLINT(2字节),INT(4字节),BIGINT(8字节),可以存储不同范围的整数。浮点数类型包括FLOAT(4字节)和DOUBLE(8字节),可以存储不同范围的浮点数。日期和时间类型包括DATE日期, TIME时间, DATETIME日期时间, TIMESTAMP时间戳。格式 : grant select on 数据库 .* to 用户名@登录主机 identified by ”密码"

2024-07-23 23:20:53 168 1

原创 百度秋招提前批C++

1. 当开辟的空间小于 128K 时,调用 brk()函数,malloc 的底层实现是系统调用函数 brk(),先遍历空闲内存链表,如果有已释放且空间足够的内存块,就拿来用。,主要目的就是方便调用右值类型的构造函数,和static_cast(),差不多类似的作用,用了move的对象对其它对象进行初始化时会调用右值引用构造函数也是转移构造函数,这个构造函数的作用就是将对象的内容直接给要初始化的对象,而不是拷贝一个过去。存放在栈中的数据只在当前函数及下一层函数中有效,一旦函数返回了,这些数据就自动释放。

2024-07-22 16:12:14 804

原创 初始化列表

对象成员必须使用初始化列表进行初始化,因为如果不在初始化列表当中对这个对象和进行初始化的话,那么Date类的构造函数会自动去调用_t 的默认构造函数来进行初始化,但是Time类没有默认构造函数,编译器就会报错引发未定义行为。所以。

2024-07-13 22:10:57 560

原创 C++ bind和placeholders

f1绑定了三个占位符,表示需要传入三个参数;f2绑定了两个占位符和一个常量100,表示需要传入两个参数,其中第一个参数在print函数中对应第二个参数,第二个参数在print函数中对应第一个参数,第三个参数固定为100;f3绑定了三个占位符和一个常量100,表示需要传入三个参数,其中第一个参数在print函数中对应第三个参数,第二个参数固定为100,第三个参数在print函数中对应第二个参数。通过在 bind 函数中使用这些占位符,你可以创建一个可调用的对象,该对象在调用时将使用后续提供的参数。

2024-07-13 20:12:53 261

原创 初始化和实例化、成员类

类的初始化:是完成程序执行前的。在这个阶段,静态的(变量,方法,代码块)会被执行。同时在会。。类的实例化:是指。这个过程中会在中开辟内存,将一些非静态的方法,变量存放在里面。在程序执行的过程中,可以创建多个对象,既多次实例化。每次实例化都会开辟一块新的内存。对象的初始化:对象的初始化是在类实例化后产生了对象、此时这个对象还不能完全能给外部调用,处在一个"中间态"。

2024-07-09 22:46:19 360

原创 C++ 八股(1)

线程安全容器是可以支持在多个线程并发访问的STL容器。在多线程程序中使用线程安全容器可以保证数据操作的正确性和安全性。C++ STL库提供了一些线程安全容器(适配器),包括std::stack和std::queue,它们都是基于顺序容器实现的。这些容器提供了多个线程的并发访问功能。

2024-07-09 16:08:31 868

原创 虚拟内存和物理内存

虚拟地址(Virtual Address)程序使用的地址。比如我有一个2G的内存,那么虚拟地址可能会超过2G的范围,那么直接去物理内存中寻找该地址是根本不存在的,因此我们需要一个虚实的转换,这个动作是由MMU内存管理单元来做的。物理地址(Physical Address)在内存中实际存储数据的地址。比如我有一个2G的内存芯片,那么系统的物理内存就是2G。

2024-07-09 09:49:35 742

原创 C++ 宏

C++中的宏是一种代码片段,可以被宏的值所替换 ( 查找替换(文本替换) )。

2024-07-08 10:49:05 129

原创 nullptr和NULL

nullptr 既不是整型类型,也不是指针类型,nullptr 的类型是 std::nullptr_t(空指针类型),能转换成任意的指针类型。函数重载:C++允许在同一作用域中声明多个类似的同名函数,这些同名函数的形参列表(参数个数,类型,顺序)必须不同。而用nullptr,编译器则会选择 foo(char* s)的函数,因为nullptr不是整数类型。编译上述代码,结果如下图所示,编译器提示有两个函数都可能匹配,产生二义性。NULL是被定义为0的常量,当遇到函数重载时,就会出现问题。

2024-07-07 22:21:56 260

原创 C++ 多态和虚函数

重写/覆盖: 子类中有一个跟父类完全相同的虚函数,子类的虚函数重写了基类的虚函数即:子类父类都有这个虚函数 + 子类的虚函数与父类虚函数的 函数名/参数/返回值 都相同 -> 重写/覆盖(注意:参数只看类型是否相同,不看缺省值)

2024-07-07 22:16:16 497

原创 寄存器、RAM、ROM、FLASH、Cache

虚拟地址(Virtual Address):程序使用的地址。物理地址(Physical Address):在内存中实际存储数据的地址。

2024-07-07 13:52:26 703

原创 I/O多路复用

参考。

2024-07-03 17:02:35 1026

原创 Socket编程&用到的函数&TCP UDP实例

简单点说就是硬件厂商各有所好,并没有统一的约定制作制作哪一个,大端的优势在于第一个字节就是高位,很容易判断正负性。小端的优势在于第一个字节是低位,最后一个字节是高位,可以依次取出相应的字节进行运算,并且最终会把符号位刷新,这样运算起来更高效。大小端是针对非单字节数据的存取,比如short型,int型等。大端存储是将数据的高位存储在内存的低地址处,小端存储是将数据的低位存储在内存的低地址处。

2024-07-02 17:33:23 547

原创 OSI七层模型

PPP帧: PPP帧包含同步字段、地址字段、控制字段、协议字段、信息字段和帧校验序列,用于在点对点链接上进行可靠通信。以太网帧: 以太网帧是数据链路层的基本单位,包括目标MAC地址、源MAC地址、类型字段、数据字段和帧检验序列等。可靠性传输: 通过使用连接导向的协议(如TCP)来确保数据的可靠传输,包括错误检测、重传机制等。用户数据报协议(UDP): UDP是无连接的、不可靠的传输协议,适用于实时应用,如音视频传输。传输控制协议(TCP): TCP是连接导向的、可靠的传输协议,确保数据的完整性和有序性。

2024-07-02 17:19:01 390

原创 move&万能引用&完美转发

引用。

2024-07-01 23:46:28 708

原创 TCP三次握手四次挥手

确认号为 ack = x + 1,表示收到客户端的序号 Seq 并+ 1 作为自己确认号 ack 的值,随后服务器端进入 SYN-RVCD 阶段。假设重传的报文段被TCP服务器进程正常接收,TCP服务器进程给TCP客户进程发送一个TCP连接请求确认报文段,并进入连接已建立状态。TCP是面向连接的协议,它基于运输连接来传送TCP报文段,TCP运输连接的建立和释放,是每一次面向连接的通信中必不可少的过程。ACK:确认位,为1时,确认有效,除了建立连接开始的syn包时,其他包该位必须为1。并返回最后一段报文。

2024-06-26 23:27:15 852

原创 Call_once

call_once和once_flag的声明。

2024-06-26 16:37:53 167

原创 C/C++全局变量、局部变量、静态变量和常量

(2) 允许对构造类静态局部量赋初值 ,例如数组,若未赋以初值,则由系统自动赋以0值。(而非静态局部变量未赋初始值,系统会给个随机值)(3) 对基本类型的静态局部变量,若在说明时未赋以初值,则系统自动赋予0值。而对自动变量没有赋初值,则其值是随机值。静态局部变量是一种生存期为整个源程序的量。虽然离开定义它的函数后不能使用,但如再次调用定义它的函数时,它又可继续使用, 而且保存了上次被调用后留下的值。因此,当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。

2024-06-26 16:10:09 504

原创 C++ lambda表达式:[](){}

引自。

2024-06-24 23:28:57 825

原创 Smart Point智能指针

C++11中通过引入智能指针的概念使得程序员不需要手动释放内存。

2024-06-24 22:57:15 104

原创 友元函数&友元类

" 友元函数 " 的 声明 , 不受类的访问控制限制 , 可以在任何地方定义 , 如 : 在 private: , protected: , public: , 下声明 友元函数 , 并不影响到 友元函数 的使用;只要 声明了 " 友元函数 " , 不管在什么位置声明 , 都可以正常通过该友元函数 访问 类中的成员;a.首先是类function的声明【只有声明了类function才能进行定义友元函数】友元类与友元函数类似,可以将一个类声明为另外一个类的友元类。类给予友元函数特别的访问权限。

2024-06-24 14:12:20 374

原创 C++ 多线程 互斥量(mutex)、锁(lock)和原子操作库

引自。

2024-06-17 18:56:48 307

原创 GAN相关知识

当生成的图片过大时,可能生成的图片中只有局部区域存在伪影,而其余部分生成质量很好,此时若让判别器对整张图片进行判断,那么一个单一的数值可能无法良好地描述这张图片的质量。PatchGAN 把一张完整的待鉴定图片利用滑动窗口裁剪成 70x70 大小的小图片。接着将这些图片依次输入判别器进行鉴定。最后将判别器对多张小图的评分求和,作为最终评分。

2024-06-05 14:35:57 340

原创 二叉搜索树

二叉搜索树的中序遍历是一个有序序列,

2024-06-04 15:46:15 364

原创 DFS树的解题模板

DFS:优先考虑深度,换句话说就是一条路走到黑,直到无路可走的情况下,才会选择回头,然后重新选择一条路。是遍历或者的一种算法,本质就是。

2024-05-29 17:05:10 744

原创 BN, LN, IN, GN分别是什么 区别在哪里

常用的Normalization方法主要有:Batch Normalization(BN,2015年)、Layer Normalization(LN,2016年)、Instance Normalization(IN,2017年)、Group Normalization(GN,2018年)。它们以不同的方式对进行 Norm 的。我们将输入的 feature map shape 记为[N, C, H, W],其中N表示batch size,即N个样本;C表示通道数;H、W分别表示特征图的高度、宽度。

2024-05-27 11:11:33 1033

原创 C++递归

递归过程中,每次使用相同的函数,只不过函数的参数逐步减小,每一次递归过程的函数体执行被叫做---a stack frame,作用是对当前存储的函数参数值进行调用。最后达到最简形式,要把结果不断返回(return)给上一层递归函数直至原始函数。所以递归必须有出口,;而且递归的参数必须符合定义,如果范围不对就导致,程序也会执行错误。

2024-05-24 16:46:27 217

原创 杂七杂八需要注意的点

注意:sort()函数是比较第一个数的大小进行排序,因此vector时,会比较第一个数然后sort从小到大。

2024-05-21 20:15:27 263

原创 C++ stack和queue

首先大家要知道 栈和队列是STL(C++标准库)里面的两个数据结构。C++标准库是有多个版本的,要知道我们使用的STL是哪个版本,才能知道对应的栈和队列的实现原理。那么来介绍一下,三个最为普遍的STL版本:HP STL 其他版本的C++ STL,一般是以HP STL为蓝本实现出来的,HP STL是C++ STL的第一个实现版本,而且开放源代码。P.J.Plauger STL 由P.J.Plauger参照HP STL实现出来的,被Visual C++编译器所采用,不是开源的。

2024-05-21 15:22:37 552

原创 C++ string类用法

参考。

2024-05-21 14:44:09 650

原创 C++ KMP算法

什么是前缀:字符串的前缀是指从第一个元素开始的、不包括最后一个元素的连续字串。什么是后缀:字符串的后缀是指不包括第一个元素的、以最后一个元素结尾的连续子串。最长相等前后缀:字符串的最长相等前后缀就是字符串的前缀、后缀中相等的、最长的连续子串。例如,对于字符串"acdac"。还有一种形象一点的理解,就是你,

2024-05-20 17:30:21 893 1

原创 C++ vector和string互相转换

输入一串字符串,以空格为区分,回车为结束,来组合成一个vector在此处输入使用了() 函数,它可以保留空格,使用 cin 遇到空格会结束,还需注意,若在 getline 之前有 cin 操作可能会有缓存,可在 getline 之前加 cin.ignore() 解决该问题。

2024-05-19 15:21:36 335 1

原创 swap()和reverse()

1.1 功能标准库中的swap()函数可以交换任何数据类型的值,包括int,float,string等,甚至数据结构,如数组,堆栈和队列等。

2024-05-17 22:35:59 106

原创 Leetcode88.合并两个有序数组(快手暑期面试第一题)

二路归并排序方法一:倒序比较 直接用nums1存储方法二:其实题目中有一个条件,就是nums1的长度等于或大于合并后数组的长度。这样就涉及到了容器的使用,具体就是如何清空容器。首先了解一下vector是如何分配内存的。为了保证数组的随机存取,vector中的元素是连续存放的。也就是说vector会先申请一定的内存空间,如果用push_back添加了新的元素,就会重新申请内存空间,然后将数组元素复制过去。这就会带来很大的时间开销。

2024-05-17 21:01:19 413

原创 Transformer相关八股

点乘注意力通常在实践中表现更好,可能是因为计算简单和高效。点乘复杂度为O(d*n^2)其中d是特征维度,n是序列长度。

2024-05-15 18:03:06 197

原创 ks图像视频算法工程师面试准备

7、图像的伪影如何解决8、如何进行图像直方图均衡化GAN之所以是对抗的,是因为GAN的内部是竞争关系,一方叫generator,它的主要工作是生成图片,并且尽量使得其看上去是来自于训练样本的。另一方是discriminator,其目标是判断输入图片是否属于真实训练样本。

2024-05-15 17:35:37 243

原创 C++中的?

这个语句由 3 个子表达式组成,使用?如果条件x < 0是真的,则执行y = 10语句;否则,执行z = 20。所以当x=-1时,x < 0?y = 10 : z = 20的最终结果为y=10。条件运算符强大而独特,它提供了一种表达简单 if-else 语句的简写方法。和 : 单独使用没有特殊含义,合起来用时可以表示。例如:x < 0?:三目运算符一定要用于赋值语句。

2024-05-15 15:45:34 380

原创 INT_MAX 和 INT_MIN是什么?如何防止溢出?

INT_MAX表示一个 32 位符号整数所能够表示的最大值,也就是 2^31 − 1。而INT_MIN则表示最小的负整数。这个值是相对于二进制补码表示法的,也就是说,负数的范围比正数大 1。:这些宏仅适用于 32 位整型变量,如果使用 64 位整型变量,需要使用其他预定义宏,如 LONG_LONG_MAX 和 LONG_LONG_MIN,代表能够存储的最大/最小长整数。是个很大的数,如果想得到数组中最小值,可以先将 min1。INT_MAX 和 INT_MIN 是 C++ 的两个。设成 INX_MAX。

2024-05-15 15:40:07 408

原创 求一个vector中的最大值/最小值及其位置

使用max_element和min_element。

2024-05-15 15:32:43 79

原创 结构体struct和类class

结构名 结构变量名//创建一个student结构体//属性名//名字//班级//成绩//实例化方法1//用Student这个结构体创建了stu变量,stu拥有Student的所有属性//间接初始化//实例化方法2//直接初始化return 0;类用于创建用户定义的数据类型,可以包含数据成员和成员函数,以实现数据的封装和操作。类是面向对象编程的核心,允许将数据和操作封装在一起,以创建更加模块化和可维护的代码。private:public:// 类的成员函数。

2024-05-14 12:39:20 606 1

空空如也

空空如也

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

TA关注的人

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