自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (1)
  • 收藏
  • 关注

原创 c++ assert

assert是C++中的一个宏,通常用于在开发和调试阶段进行条件检查。如果某个条件不满足,assert会中断程序并报告错误信息,有助于程序员发现潜在的逻辑错误。

2024-10-29 23:12:34 301

原创 使用 Messenger 类和直接使用 connect 的区别

两个组件只需要知道消息名称,不需要了解彼此的存在,这让代码结构更松散,也更便于维护和扩展。使用 connect:在大型项目中,由于信号和槽的直接依赖关系,容易在代码中出现过多的 connect 和 disconnect 语句,增加了维护复杂度。如果你的项目较大,模块之间的耦合度需要降低,或者你需要动态地添加和删除消息接收者,可以使用 Messenger 类,增强扩展性和维护性。如果你的项目较为简单,或者组件之间的依赖关系明确、较少变动,connect 是更好的选择,性能更高,语法简单。

2024-10-29 09:14:03 420

原创 误食洗洁精怎么办

重要的是要记住,预防是最好的措施。将所有化学品存放在儿童及宠物无法触及的地方,并且确保标签清晰,以避免混淆食品或其他安全物品。如果你或任何人出现不适,请即刻就医。

2024-10-11 18:15:47 221

原创 秦始皇为什么不统一编程语言?

两者的功能和应用领域完全不同,因此在秦始皇统一的制度下,没有需要统一类似编程语言的需求。编程语言是现代计算机技术的产物,而计算机的发明要到20世纪,远在秦朝之后,因此秦始皇不存在统一编程语言的必要或可能性。编程语言是为了实现人与计算机之间的交互。他的改革和政策都是为了确保国家的政治和经济稳定,而编程语言属于未来的技术领域,与他所面对的统治挑战没有直接联系。综上所述,秦始皇不统一编程语言的根本原因在于当时的历史背景、技术条件和社会需求完全不具备,编程语言的概念和实际用途在秦朝时代尚未形成。

2024-10-11 14:44:15 296

原创 decltype在实际开发中的应用

decltype自动推导表达式的类型,减少手动类型声明。在模板和泛型编程中,动态推导类型。结合auto用于推导函数的返回值类型。在类和复杂类型的场合,简化类型声明。它使代码更加简洁和灵活,尤其是当你处理复杂的类型系统时,decltype能够让你避免显式声明类型的繁琐。

2024-10-04 17:13:17 531

原创 python json文件读写

在Python中处理JSON文件是一个常见的任务。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。Python提供了内置的json模块来帮助我们读取和写入JSON格式的数据。

2024-09-29 12:01:09 444

原创 实际开发中使用cout、cerr、clog的区别

std::cout: 用于普通输出,带缓冲。std::cerr: 用于错误输出,不带缓冲,适合立即显示错误。std::clog: 用于日志输出,带缓冲,适合记录调试或日志信息。在实际开发中,合理地选择这三种输出方式可以更好地组织程序输出和调试信息。

2024-09-28 14:32:46 442

原创 std::cout<<std::endl与std::cout<<“\n“的区别

std::endl= 换行符\n+ 刷新缓冲区。\n= 仅换行符,不刷新缓冲区,通常性能更好。

2024-09-28 14:16:02 358

原创 .c、.cpp、.cc、.cxx、.cp后缀的区别

c:用于C语言文件。.cpp.cc.cxx.cp:用于C++源文件,最常见的是.cpp。尽管这些后缀有些不同,现代编译器通常允许你指定任何后缀,只要在构建系统或编译命令中清楚指定文件类型即可。

2024-09-28 13:58:39 892

原创 tcl 字典

Tcl 的字典(dict)是一种键-值对的集合,类似于其他编程语言中的哈希表或关联数组。字典允许你使用键来存储和检索数据,非常适合存储结构化的信息。

2024-08-23 16:29:15 407

原创 C++中的explicit关键字

explicit关键字用于防止隐式转换,增强代码的安全性和可维护性。应用在构造函数和转换操作符上,以显式控制对象的创建和转换过程。

2024-07-21 23:33:34 298

原创 bat脚本执行命令行

在批处理(BAT)脚本中执行命令行命令非常简单。你只需将命令按顺序写在脚本文件中,每行一个命令。

2024-07-19 19:31:32 823

原创 C++命名规范

在C++中,遵循良好的命名规范不仅可以提高代码的可读性,还可以减少错误的发生。

2024-07-15 22:30:48 464

原创 C++多线程学习笔记

实际开发中不会直接使用互斥量,而是搭配模板lock_guard使用,或者搭配功能更多的模板unique_lock使用。信号量(semaphore)只在C++20之后的标准有(了解)使用mutex互斥量。

2024-07-07 19:49:14 471

原创 人工智能在软件开发中的角色:助手还是取代者?

虽然AI工具在某些方面可以取代人工操作,但它们更多的是作为开发者的助手,帮助他们提高工作效率、提升技能和激发创造力。例如,AI模型的训练、优化和维护需要专业的人才,而这些职位正是开发者可以转型的方向。此外,开发者还可以利用AI工具提高自己的工作效率,从而在更短的时间内完成更多的项目。此外,开发者还需要具备更强的创新能力和解决问题的能力,以应对AI无法处理的复杂问题。此外,AI工具还可以激发开发者的创造力,使他们能够将更多的时间和精力投入到创新和设计中,从而开发出更加优秀的软件产品。

2024-07-07 18:57:18 553

原创 在lua中一般使用dofile或require来执行程序块

会检查指定的模块是否已经加载过,如果已经加载过,则直接返回之前加载的模块,如果没有加载过,则加载并执行指定文件中的代码,并将模块的返回值缓存起来以供后续调用。可能会影响全局的模块搜索路径,因此最好在程序的开头进行修改,并在添加路径后立即加载模块,以避免在后续的代码中影响到其他模块加载操作。函数在处理模块时会查找Lua的模块搜索路径。如果要加载的模块不在默认搜索路径中,可以通过修改。默认情况下,Lua会在当前目录下搜索模块,以及Lua安装目录下的。函数也用于执行指定文件中的Lua代码,但它有一些特殊的行为。

2024-05-06 13:16:08 829 1

原创 char、signed char和unsigned char的区别

在表示字符时具有相同的大小,但有符号性和取值范围上有所不同。根据需要,可以选择合适的类型来表示字符。是三种不同的字符类型,它们在表示字符时有一些区别。

2024-04-13 09:54:49 1522

原创 python读写json文件详解

模块来读写JSON格式的文件。在这个示例中,首先定义了一个字典。变量中,最后打印出加载的数据。在Python中,可以使用。文件,并将读取的数据加载到。

2024-03-06 15:33:09 434

原创 python pandas写入csv

参数表示不将DataFrame的索引写入文件。如果要包含索引,可以将。方法将DataFrame对象写入CSV文件。在Python的Pandas库中,可以使用。方法将DataFrame对象。

2024-02-29 21:30:55 724

原创 C++的三种访问权限详解

在C++中,类的成员有三种访问权限:public、protected和private。这些访问权限确定了类的成员对外部访问的可见性和限制。访问权限对于类的封装性和数据隐藏至关重要。通过合理设置访问权限,可以控制外部对类成员的访问,提高代码的安全性和可维护性。

2024-02-28 19:35:56 940

原创 alloca和malloc的区别

适用于需要在函数中临时分配一块内存空间,且无需手动管理内存的情况。但由于其可移植性较差,一般建议在实际开发中优先考虑使用。或其他标准的内存分配函数。

2024-02-28 16:53:24 521

原创 C++ 虚函数、纯虚函数、虚函数表

虚函数表是一个存储类的虚函数地址的数组,每个含有虚函数的类都有一个对应的虚函数表。这样,当调用一个虚函数时,实际上是通过对象的虚函数表找到对应的函数地址来调用的。在C++中,虚函数是一种在基类中声明为虚函数并在派生类中重新定义的函数。虚函数使得在运行时能够根据对象的实际类型来调用相应的函数实现,而不是根据指针或引用的静态类型来确定。:在基类中声明但没有定义的虚函数,派生类必须重写这个函数。虚函数的使用可以实现多态性,使得程序能够根据对象的实际类型来调用相应的函数,而不需要在编译时确定。

2024-02-28 15:15:45 410

原创 QMessageBox入门

是Qt中用于显示消息框的类,可以用于显示各种类型的消息、提示、警告和错误信息。的基本用法,包括显示不同类型的消息框、自定义按钮以及根据用户的选择执行相应的操作。是Qt中用于显示消息的常用类,可以方便地在应用程序中添加消息提示功能。

2024-02-27 21:53:16 462

原创 QScrollArea入门

是Qt中的滚动区域类,用于在窗口中显示超出可视区域的内容,并提供滚动条进行浏览。的基本用法,包括添加小部件、设置滚动条策略、调整大小、滚动到特定位置和隐藏滚动条。是一个非常有用的控件,可以帮助在Qt应用程序中处理大量内容并提供滚动浏览的功能。

2024-02-27 15:52:55 684

原创 QToolButton入门

是Qt中的工具按钮类,通常用于工具栏或工具栏中的下拉菜单。它可以显示图标、文本或同时显示两者,并可以响应用户的点击事件。的基本用法,包括显示图标、文本或同时显示两者,设置工具提示,并响应点击事件。是Qt中非常常用的控件之一,可以用于创建各种工具栏按钮和工具栏下拉菜单。

2024-02-24 22:38:21 653

原创 QPixmap入门学习

是Qt中用于处理图片的类,可以加载、显示和操作图片。的基本用法,包括加载、显示、调整大小、旋转和保存图片。,可以在Qt应用程序中方便地处理和操作图片。

2024-02-24 22:36:05 631

原创 QWidget、QDialog、QMainWindow 的异同点

的实例,并展示了它们的基本用法和区别。在这个示例中,分别创建了一个。

2024-02-24 10:38:21 306

原创 Python asyncio的理解与入门

asyncio是Python标准库中用于编写异步代码的模块,它提供了一种基于协程的方式来处理并发任务。使用asyncio可以编写高效的异步程序,利用事件循环在单个线程中管理多个任务的执行。下面是asyncio。

2024-02-20 20:32:09 249

原创 Linux下如何配置环境变量

在Linux下配置环境变量通常有几种方法,具体取决于你希望将环境变量设置为全局还是仅对当前会话有效。无论你选择哪种方法,都应该小心编辑配置文件,并确保你知道你正在做什么,以避免不必要的问题。形式的行,每行一个环境变量,然后重新登录或重启系统使其生效。:要使环境变量在所有用户和会话中永久生效,可以编辑。:如果你只想在当前会话中临时设置环境变量,可以使用。:如果你只希望对当前用户永久设置环境变量,可以编辑。注意,此方法在会话结束后将失效。:对于当前会话,可以直接在终端中使用。命令设置环境变量,如上面所示。

2024-02-18 23:26:21 644

原创 Python常见的字符串格式化

使用f-string进行格式化(Python 3.6及以上版本支持):在字符串前加上。以上是一些常见的字符串格式化方式,具体使用哪种方式取决于个人偏好和需求。方法指定格式:可以指定格式化输出的样式,如小数点后保留几位等。方法进行格式化:将格式化参数作为字典传递。进行格式化:类似于C语言中的。方法进行格式化:使用大括号。包围变量名或表达式。

2024-02-18 00:11:28 239

原创 在Linux上使用systemctl实现开机自启动Python程序

是一个管理系统服务的命令行工具,用于控制systemd系统和服务管理器。它可以启动、停止、重启、重新加载和查询系统服务的状态。现在,您的Python程序应该在系统启动时自动运行,并且可以通过systemctl进行管理。这里假设要运行的python程序为XXX.py,路径为/root/XXX.py。如果您的Python文件需要特定的Python虚拟环境,请将。保存并关闭文件(不知道怎么保存关闭的可以去学一下。在打开的文件中输入以下内容,注意替换。替换为您虚拟环境的路径。

2024-02-17 23:52:23 2648

原创 PyQt5中exec()与exec_()的区别

方法接受一个字符串作为参数,该字符串包含要执行的Python代码。它类似于Python的。是两个不同的方法,用于执行动态创建的Python代码。是Python的关键字,但不能直接用作方法名,因此在PyQt5中,使用。方法,这将启动PyQt5的事件循环,使应用程序保持活动状态。语句,但避免了与Python关键字的冲突。以下是一个示例,说明如何在PyQt5中使用。

2024-02-16 17:14:22 630

原创 2022广航蓝桥杯选拔赛压轴题:取数博弈游戏

对于这种「判断先手后手的必胜必败」的题目,博弈论方向是一个优先考虑的方向。博弈论的重要思想就是决策者都要做出全局最优的决策而非局部最优,就好比专业的棋手走一步看五步,而博弈论则要求棋手走一步看无限步。

2022-12-22 12:20:32 763 1

原创 不同的路径

解题思路这个题是比较简单的,举个例子就能明白,以样例输入3 7为例。建立一个3*7的二维数组,初始时把首行和首列均赋为1,如下表所示。111111110000001000000之后把剩余的每行元素按从左到右的顺序遍历赋值,使其等于其左边元素和上边元素之和,表示从起点到当前位置的路径数,因为要到达该位置只能从上边或左边到来,赋值后如下表所示。1111111123456713...

2022-03-05 16:04:10 231

原创 到达终点数字

题目描述解题思路target的范围有正有负,而起点为0,所以根据对称性实际上target=i与target=-i的答案是相等的,所以我们实际上只需要把target为负数的情况取反然后只需要讨论target为正数的情况即可。如上图所示,数字表示坐标,之后的第i行的勾表示第i次移动能到达的位置,由此可以知道,第i次移动能到达的最远位置坐标为(1+2+3+……+i),那么我们就可以直接从第一个移动到最远位置坐标大于target的那一次移动开始找,这样可以提高一些效率,记该次移动为第k次移..

2022-03-05 16:03:06 187

原创 飞机座位分配概率

题目描述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KDJqhYwA-1646467325318)(https://cdn.jsdelivr.net/gh/tnnnnt/picgo/img/20220305144153.png)]解题思路若n为1,则第1个人一定只会坐在自己的位置上,故答案为1。若n为2,则第1个人坐在自己位置上和另一个位置上的概率各为0.5,故第2个人坐在自己的座位上的概率为0.5。若n为3,则第1个人坐在自己位置上、2号位置上和..

2022-03-05 16:02:44 892

原创 有一个人前来买瓜

题目描述解题思路部分同学反映题目描述不清晰,但这也恰恰是其难点之一,考验的是我们对题目的信息提取能力。信息1:世界上只有面值为3的幂的纸币,也就是说纸币只有1元的、3元的、9元的、27元的……。信息2:华强没办法正好给出N元钱。对于N,我们分2种情况讨论:第一种:N为3的幂,这种情况很简单,由信息2可知,华强不可能使用面值小于等于N元的纸币,所以只能使用面值大于N元的纸币,故郝哥最多可以得到1张纸币。第二种:N不为3的幂,这种情况下,华强不可能使用面值为1元的纸币,而郝哥如果..

2022-03-05 16:01:55 669

原创 C++-核心编程

C++核心编程本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓。1 内存分区模型C++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收内存四区意义:不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程1.1 程序运行前​ 在程序编译后,生成了e.

2022-02-18 08:08:08 375

原创 七进制数-力扣

题目描述解题思路这个题很简单,没什么好讲的,直接看代码就能明白。代码class Solution {public: string convertToBase7(int num) { long long b=1,sum=0; do{ sum+=num%7*b; b*=10; num/=7; }while(num); return to_st..

2022-02-17 12:54:10 220

原创 取数游戏II-洛谷

题目描述解题思路问题简化由题目知,这个环里至少有一条边为0,而为0的边是无法经过的,所以起点两边的两个第一个为0的边之间的边是不可能到达的,因此可以把问题简化为只有1个边为0的环,即把那些不可能到达的边删除并把两个为0的边仅保留1个,如下图之后再更新一下n,如上图即n由7更新为5。存在必胜策略反推当轮到对手时硬币两边的边上都是0,那我们就赢了。则如果轮到我们的时候硬币与长度为0的边中间恰好隔着1条非0边,就有必胜策略。(结论1)当硬币的一条临边为0时,则在往另..

2022-02-15 14:35:59 2854

广州交通大学2021蓝桥杯选拔赛题目.zip

据说是蓝桥杯的难度

2021-05-09

空空如也

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

TA关注的人

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