自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最新结构体对齐为什么那么重要?_c语言结构体位置重要吗,2024年最新初级C C++开发面试题

只是Warning么?,却不是固定的,跟CPU或系统位数有关,有时候还会出现字、双字这些概念,举例说明下:32位计算机:1字=32位=4字节,64位计算机:1字=64位=8字节所以,对于C语言的变量的存放和访问,都会按着这单位来,例如32位系统中,char是一个字节的,就按Byte来,int是4字节的,那么按Word来。而S3中的元素e_char1是按1字节对齐的,放在最前面,而e_int是按4字节对齐的,其地址位4整数倍,所以,只能找到个+4的位置,紧接着e_char2就按1字节对齐,跟其后面就可以了。

2024-05-17 01:28:54 435

原创 最新线程间通讯(几种常见的通讯机制,以及实例)_线程间通信,2024年最新赶快收藏备战金九银十

当创建一个 std::lock_guard 对象时,它会在构造函数中自动调用互斥量的 lock() 方法,获取互斥量的锁。当 std::lock_guard 对象被销毁时,它会在析构函数中自动调用互斥量的 unlock() 方法,释放互斥量的锁。当条件满足时,可以调用条件变量的唤醒函数唤醒等待的线程。std::lock_guard 是C++标准库中的一个模板类,用于保护一个互斥量(mutex)的自动加锁和解锁操作。以上是常见的几种线程间通讯机制,不同的场景和需求可能需要选择不同的机制来实现线程间的通讯。

2024-05-17 01:28:21 277

原创 最新线程常见锁策略,以及CAS相关内容_cas线程锁,2024年最新贼好用的C C++学习路线集合

往往是通过用户态代码来实现的,往往较轻(是轻量级锁的一种典型实现)如果获取锁失败, 立即再尝试获取锁, 无限循环, 直到获取到锁为止. 第一次获取锁失败, 第二次的尝 试会在极短的时间内到来. 一旦锁被其他线程释放, 就能第一时间获取到锁. 相比于挂起等待锁, 优点: 没有放弃 CPU 资源, 一旦锁被释放就能第一时间获取到锁, 更高效. 在锁持有时间比较短的场景下非常有用.缺点: 如果锁的持有时间较长, 就会浪费 CPU 资源.指的是多个线程在等待锁时,不遵循先来后到的规则,他们获取到锁的概率是均等的。

2024-05-17 01:27:48 299

原创 最新线性表和顺序表(5),学习路线+知识点梳理

/静态顺序表 – N太小,可能不够用,N太大,可能浪费空间//{//};//动态顺序表// 指向动态数组指针int size;// 有效数据个数// 容量-空间大小}SL;//打印// 增删查改//顺序表初始化//检查//销毁// 查找//修改//O(1)// 尾插//尾删//O(N)//头插//头删// 顺序表在pos位置插入x// 顺序表删除pos位置的值。

2024-05-17 01:27:15 337

原创 2024年『C++成长记』日期类的实现,2024年最新带着问题深入学习Handler

*>**

2024-05-16 12:31:42 392

原创 2024年YUV、YCbCr、RGB介绍——超分辨率(六)_y亮度超分(1),2024年最新一次关于C C++的面试经历

YCbCr 有许多取样格式,主要的采样格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。其中YCbCr 4:1:1 比较常用,其含义为:每个点保存一个 8bit 的亮度值(也就是Y值),每 2x2 个点保存一个 Cr 和Cb 值,图像在肉眼中的感觉不会起太大的变化。相邻的扫描行存储不同的色度分量,也就是说,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是4:2:0…4:1:1的色度抽样,是在水平方向上对色度进行4:1抽样。

2024-05-16 12:31:09 238

原创 2024年TX2 ubuntu16,2024年最新C C++篇

【代码】2024年TX2 ubuntu16,2024年最新C C++篇。

2024-05-16 12:30:35 327

原创 最全【c++】vector模拟(2),C C++面试吃透这一篇就没有拿不到的offer

/传统写法2.//出现深浅拷贝问题//v2(v1)vector(const vector& v) // 拷贝构造2.//传统写法2.//解决深浅拷贝问题//让v2开辟一块和v1一样大小的空间i++)//通过循环进行赋值//最后调整_finish和_end_of_storage的大小//现代写法// v2(v1)vector(const vector& v) // 拷贝构造// 判断是否需要扩容// 拷贝尾插。

2024-05-16 08:53:14 523

原创 最全【c++】STL--vector_stl vector迭代器如何初始化,阿里巴巴二面被血虐

迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。因此迭代器失效,实际就是迭代器底层对应指针所指向的 空间被销毁了,而使用一块已经被释放的空间,造成的后果是程序崩溃(即如果继续使用已经失效的迭代器, 程序可能会崩溃)。当我们插入一个数据的时候,该数组是没有空间需要开辟空间,当开辟空间后pos如果不更新的话,还是指向的是原来的地址,那么当开辟后这个地址是会被操作系统回收,pos就会发生野指针的问题。vector,是数组实现的,也就是说,只要知道数组的首地址,就能访问到后面的元素。

2024-05-16 08:52:41 398

原创 最全【C++】STL —(2),2024年最新C C++基础语言教程

string s1(“JDG 总冠军”);//size缩小成5,capacity不变#includeint main()string s1;#include#includeint main()// 1.可读while (it!//auto 可以自动推导类型while (rit!rit++;// const正向迭代器 - 可读不可写while (it!

2024-05-16 08:52:08 372

原创 最全【C++】std distance()函数的详细解析(小白一看就懂哦(1),腾讯3轮面试都问了C C++事件分发

*函数的基本用法和示例,以及一些注意事项。相比元素的直接相减,使用命名的函数可以让代码的语义更加清晰。**对指针的计算与C/C++中直接将指针相减的结果是一致的,即是基于类型长度的距离,而非基于内存地址的直接做差。里获取](https://bbs.csdn.net/topics/618668825)**向量的起始迭代器和结束迭代器**。函数有了更深入的理解,并能在实际开发中灵活运用它。最后,我们输出计算得到的元素数量。之间的距离**,并将结果存储在变量**以下是一个示例,展示了如何使用**

2024-05-16 08:51:35 383

原创 局部变量,静态局部变量,全局变量,静态全局变量在内存中的存放区别_初始化的局部变量和未初始化的局部变量存放的区域一样吗

果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618668825)**网上关于内存划分,有几种说法,我选择一种我比较接受的说法。

2024-05-16 04:50:02 900

原创 局部变量、全局变量、静态变量的含义及存储位置_解释局部变量全局变量和静态变量的全义。

这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的.而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它.由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误.在函数外定义的变量是外部变量,外部变量是全局变量,全局变量可以为本文件中其它函数所共用,它的有效范围从定义变量的位置开始到本源文件结束。b.它使函数的通用性降低了。

2024-05-16 04:49:29 936

原创 局部变量、全局变量、静态变量的含义及存储位置_解释局部变量全局变量和静态变量的全义。(1)

这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的.而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它.由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误.把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围.4).如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用.

2024-05-16 04:48:56 447

原创 对象创建模式(跳过new直接的使用)_防止一个对象new出来是什么意思

数据库分为很多类型如SQLite,MySQL,oralSql等等,并且每个类都有对应的connect,read,command等方法,也正是因为这些方法是有关联性的,因此他们可以使用抽象工厂(建立一个工厂,有三个方法创建这三个对象,因为他们有相互联系,操作的必须是同一个数据库),但是如果他们三者没有联系那么也就只能采用工厂方法,那么也就要多键很多类。而在实现那边,工厂类中存在一个创建的对象虚方法,然后每个实例类都去继承它并返回自己new的本身的类,从而就到达了,一个类的实例延迟的效果。

2024-05-16 04:48:23 412

原创 【第七章】 C语言之牛客网&力扣刷题笔记 【点进来保证让知识充实你一整天】_13天突破c语言电子书(1)

💡❗形参压栈实参实参形参形参✨这也就是为什么选B啦~

2024-05-16 00:47:08 959

原创 【秒懂·云原生】微服务篇 —— 三千字吃透Spring Cloud的组成_springcloud微服务的组成

简单的说,Ribbon是一个客户端负载均衡器,我们可以在配置文件中Load Balancer后面的所有机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器,我们也很容易使用Ribbon实现自定义的负载均衡算法。Ribbon是一个为客户端提供负载均衡功能的服务,它内部提供了一个叫做ILoadBalance的接口代表负载均衡器的操作,比如有添加服务器操作、选择服务器操作、获取所有的服务器列表、获取可用的服务器列表等等。Spring Cloud对Zuul进行了整合与增强。

2024-05-16 00:46:35 896

原创 【秒懂·云原生】微服务篇 —— 三千字吃透Spring Cloud的组成_springcloud微服务的组成(3)

Spring是于2003年兴起的一个轻量级的Java开发框架,但是随着其不断地发展壮大,框架的代码规模越来越庞大,集成的项目越来越多,配置文件也变得越来越混乱,慢慢地背离最初的理念。简单的说,Ribbon是一个客户端负载均衡器,我们可以在配置文件中Load Balancer后面的所有机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器,我们也很容易使用Ribbon实现自定义的负载均衡算法。它通过隔离服务间的访问点、防止级联失败和提供回退选项,保证系统的整体弹性。

2024-05-16 00:46:01 987

原创 【秒懂·云原生】微服务篇 —— 三千字吃透Spring Cloud的组成_springcloud微服务的组成(2)

简单的说,Ribbon是一个客户端负载均衡器,我们可以在配置文件中Load Balancer后面的所有机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随机连接等)去连接这些机器,我们也很容易使用Ribbon实现自定义的负载均衡算法。每个微服务都会定时从注册中心获取服务列表,同时汇报自己的运行情况,这样当有的服务需要调用其他服务时,就可以从自己获取到的服务列表中获取实例地址进行调用,Eureka实现了这套服务注册与发现机制。它通过隔离服务间的访问点、防止级联失败和提供回退选项,保证系统的整体弹性。

2024-05-16 00:45:28 619

原创 2024年MySQL 有这一篇就够(呕心狂敲37k字,只为博君一点赞!!!,C C++大厂高频面试题解析

简单查询即不含where的select语句。在此,我们讲解简单查询中最常用的两种查询:查询所有字段和查询指定字段。-- 创建数据库USE mydb;-- 创建student表age INT,-- 向student表插入数据。

2024-05-15 13:08:00 378

原创 2024年Lua元表(Metatable)简易教程_lua 元表写法,C C++权限处理

qquad这里定义的加法,返回的仍然是Metatable类,所以打印出的结果仍然不是table的编号其余的操作符方法类似,在此不再赘述\text{…}… |

2024-05-15 13:07:27 366

原创 2024年linux系统openssl的C++开发环境搭建_linux c++调用openssl des,2024年最新C C++开发了解这些自然无惧面试

在你的项目中,使用 -lssl -lcrypto 参数链接 OpenSSL 静态库。有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!这里的 -I 参数用于指定 OpenSSL 头文件的路径,-L 参数用于指定 OpenSSL 静态库的路径。在 OpenSSL 的编译配置中,你可以使用一系列的参数来控制是否编译某些特定功能或算法。下载地址:https://www.openssl.org/source/新建main.cpp文件。

2024-05-15 13:06:54 464

原创 C语言结构体位域中元素可以是哪些整型(char unsigned char int unsigned int) _c位域可以用有符号数(1)

/十进制511,二进制111111111。//int d也可以。

2024-05-15 11:12:36 333

原创 C语言经典算法实例5:验证哥德巴赫猜想_c语言验证哥德巴赫猜想(1)

本文C语言经典算法实例的编译环境,使用的是集成开发环境:Visual Studio 2019。Visual Studio 2019集成的开发环境的特点有。判断数字1-100是否符合哥德巴赫猜想 代码如下所示。对输入的数字进行哥德巴赫猜想的验证 代码如下所示。对输入的数字进行哥德巴赫猜想的判断 代码如下所示。输入一个大于 6 的偶数 代码如下所示。判断输入的数字是否为素数,代码如下所示。按F5进行编译,调试结果如下所示。按F5进行编译,调试结果如下所示。按F5进行编译,调试结果如下所示。

2024-05-15 11:12:00 303

原创 C语言类型数据所占字节数_假定double类型变量占用8个字节,且数组定义如下,则数组point在内存中所占字节数是(1)

volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。所以,int,long int,short int的宽度都可能随编译器而异。char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。unsigned int : 2个字节。

2024-05-15 11:11:23 258

原创 c语言篇 +自定义类型(枚举、联合、结构体)以及位段_枚举类型能用于结构体定义实例数据成员的位段吗

/初始化局部结构体变量struct stuint age;int score;//结构体嵌套int id;char skill;//定义全局的结构体变量并初始化struct stu lisi = {20,"李四","男",99};int main()//定义一个局部的结构体变量并初始化struct stu jack= {18,"jack","男",100};//解套结构体变量的初始化。

2024-05-15 11:10:47 309

原创 C C++最新【蓝桥杯专题】枚举、模拟与排序 (C+(1),附详细答案解析

/归并排序i > n;cin.tie(0);int T = 1;return 0;## 航班时间如果不匹配 直接忽略 b的读#include#include#include#include#include#includei

2024-05-15 06:46:11 850

原创 C C++最新【蓝桥杯专题】双指针 BFS 图论 (C++ 洛谷 acwing 蓝桥,2024年最新骚年你的屏幕适配方式该升级了

该方法将某节点的所有兄弟节点都定位该节点的右孩子, 将该节点的任意一个孩子定位左孩子;尾指针 https://www.acwing.com/video/257/经过观察可得, 某一层节点能够形成的深度其实就是该节点的兄弟的数量;状态表示f[i] : 表示i节点作为根节点能够形成二叉树的高度;因此要使树的深度最深, 则树的向下构造节点的孩子数量要尽量多;一个数据结构题 : 完全二叉树的最右边的节点为。BFS 通常用于求解——》 最短路径。**判断 越界就 continue。(cnt为i节点的孩子数量)

2024-05-15 06:45:35 357

原创 C C++最新【维生素C语言】第十六章 - 文件操作(上)_c语言在d盘建立文件,2024年最新项目实战

首先要了解什么是读写:我们写的程序是在内存中,而数据是要放到文件中的,文件又是在硬盘上的。当我们把文件里的数据读到内存中去时,这个动作我们称之为输入/读取。反过来,如果把程序中的东西放到硬盘上,这个动作我们称之为输出/写入。📚 顺序读写,顾名思义就是按照顺序在文件中读和写。

2024-05-15 06:44:59 547

原创 C C++最新【结构体】C语言结构体使用教程_c语言结构体如何调用(2),终于彻底把握了

在日常使用中我们很多时候需要处理大量数据,为了更加规整数据,编程语言为我们提供了结构体,他可以让我们处理数据时候更加规整,逻辑更加清晰。比如我们的学生管理系统,库存管理系统…这里都可以使用我们的结构体来让我们的数据看起来更加整齐。结构体本质上还是一个变量,我们建立的结构体就是一种数据结构。比如我们的学生管理系统,我们需要学号,姓名,成绩,等等属性,这时候我们就可以建立一个和学生有关的结构体来把这些变量放到结构体,来处理数据。会显得十分高效。再具体开始之前,日常求个三联。写作不易,给读者老板跪了。QAQ。

2024-05-15 06:44:22 686

原创 C C++最全(acm)C++加速输入的几种方法(1),系列教学

感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!的读取效率要慢上不少,我们可以使用。类的上方即可,一般情况用不到。在读取大量整数时,无论是。

2024-05-15 02:17:49 367

原创 C C++最全鼠标事件、键盘事件,你听过嘛?,推荐

📜个人简介⭐️🙋‍♂️🍑🍅🌸🚀好久不见,甚是想念!大家好!,如果你早已知晓,那就考考你,看看下面的内容你还记得多少。

2024-05-15 02:17:13 1242

原创 C C++最全高级IO_io高级面试题(1),2024年最新社招面试心得

(2)而另一方面,从kernel的角度,当它受到一个asynchronous read之后,(2)从用户进程角度讲 ,它发起一个read操作后,并不需要等待,而是马上就得到了一个结果。(3)一旦kernel中的数据准备好了,并且又再次收到了用户进程的system call,(3)然后,kernel会等待数据准备完成,然后将数据拷贝到用户内存,当这一切都完成之后,(2)当kernel一直等到数据准备好了,它就会将数据从kernel中拷贝到用户内存,(3)I/O多路转接(select poll epoll);

2024-05-15 02:16:37 769

原创 C C++最全验证码的前世今生_验证码的演变,面试前必看的一本书书籍

目前,移动认证已经携手多家企业,如爱奇艺、猎豹清理大师、同花顺炒股票、快看漫画、魔秀桌面、一点资讯、芒果TV、熊猫TV、小米等等,都实现了手机号码一键登录,降低注册和登录门槛,提高用户体验和留存率。验证码的用途大家非常清楚,但有些验证码连人都分不清楚,甚至有网友吐槽,这种反人类的设计,一定不是防止机器,毕竟人都很难区分正确的选项,使得人机交互体验大大降低。因此,可以说验证码是一把双刃剑,如果用户足够谨慎,确实能帮助用户保护个人隐私及财产安全,但如若使用不当,则有可能带来非常大的安全隐患。

2024-05-15 02:16:00 843

原创 C C++最全LeetCode第73场双周赛复盘【神策数据】(2),万字C C++技术类校招面试题汇总

首先还是来总结一下上周六晚上的双周赛73场的战况。因为上完自习回来就是11:10分左右了,然后回来看见周赛已经过半。说时迟那时快,我立马打开电脑(不知道为什么力扣的周赛题目在手机和iPad都不能打开,这个就是非常的烦需要回寝室来写这个周赛题目)然后上来就没直接做第一题,而是直接a的第二题(感觉easy做多了除了想办法提高其的通过率别的没啥了),在a的过程还是死了一次,然后通过本地编辑器调试最后还是通过了,随着接着a第一题,第一题也是很很快就写出来了。

2024-05-14 21:45:35 892

原创 C C++最全LeetCode 221,2024年最新最新C C++开发进阶

'0''1'

2024-05-14 21:44:59 354

原创 C C++最全LeetCode 152(2),2024年最新【大牛系列教学】

nums[i]num[i]nums[i]nums[i]nums[i]最后的结果是两种选择中取最大的一个,因此。但是nums数组中包含有正数,负数和零,当前的最大值如果乘以一个负数就会变成最小值,当前的最小值如果乘以一个负数就会变成一个最大值,因此我们还需要维护一个最小值。f[i]表示以num[i]结尾的连续子数组乘积的最大值,g[i]表示以num[i]结尾的连续子数组乘积的最小值。我们先去讨论以nums[i]nums[i]nums[i]nums[i]综上,最大值的状态转移方程为:。再去讨论以。

2024-05-14 21:44:23 543

原创 C C++最全Learning C++ No(1),腾讯T3亲自讲解

public://可以看出上述是把T给直接定义成了一个value_type,然后使用value_type定义了const指针和普通指针(所以本质上:都只是T类型而已)typedef T* iterator;//有普通版本的迭代器,此时无论是因为模仿STL还是真的会用到,我们都应该要给一个const类型的迭代器。

2024-05-14 21:43:46 379

原创 2024年最新数据库连接池简介_数据库连接池技术简介怎么写(1),2024年最新C C++面试基础题记不住

当有数据库连接请求时,就从连接池中取出一个数据库连接;如果此时连接池中的数据库连接已经用完了,并且当前的连接数还没有达到连接池定义的最大连接数时,则可再创建一个新的连接,而如果当前的连接数已达到最大连接数时,就要等待其他连接请求释放连接、连接池中存在空闲连接时才能获取连接。当一个连接请求使用完连接时,必须将该连接放回到连接池中,这样不同的数据库访问请求就可以共享连接池中的连接了。通过重复使用连接池中的数据库连接,可以避免前面提到的频繁建立连接的缺点,提高了数据库的性能。本节介绍数据库连接池是如何工作的。

2024-05-14 15:25:38 1032

原创 2024年最新数十种嵌入式 C 语言代码优化的经验和方法_嵌入式代码优化方案,10年阿里开发架构师经验分享

如果除法中的除数是2的幂次,我们可以更好的优化除法。因此,编译器不能将全局变量的值缓存在寄存器中,但这在使用全局变量时便需要额外的(常常是不必要的)读取和存储。我们应该尽可能的使用引用值的方式传递结构数据,也就是说使用指针,否则传递的数据会被拷贝到栈中,从而降低程序的性能。在生命周期内,变量的值是有效的,也就是说变量是活着的。不同生命周期之间,变量的值是不被需要的,也就是说变量是死掉的。如果这样,递减i的值。如果函数过多的使用全局变量,比较好的做法是拷贝全局变量的值到局部变量,这样它才可以存放在寄存器。

2024-05-14 15:25:02 891

空空如也

空空如也

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

TA关注的人

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