- 博客(55)
- 收藏
- 关注
原创 【转载】[国内外知名大模型及应用列表(2025/03/12)]
经过两年多的发展,国内外大模型在多个领域持续进步,尤其在推理、图像、视频和多模态领域展现出巨大的潜力。国内大模型在缩小与国外差距的同时,特别在推理和多模态领域逐渐追赶上来,未来发展前景广阔。
2025-03-20 14:16:57
491
原创 数据结构复习 ---- 顺序表(数组)--定长版本+不定长版本
///1.顺序表是一种线性结构(一对一关系),每个数据都是有一个前驱(除了第一个元素)和一个后继(除了最后一个元素)//2.顺序表分为定长顺序表(指针存储固定数量的元素)和不定长顺序表(顾名思义。。。使用较多) ----类似于动态数组,就像 Go语言中的切片, Python中的列表 ,其实基本都差不多只是名称罢了//3.逻辑表和数组有相似之处也有不同// 3.1相似之处:在逻辑上数据元素是连续的,在物理存储上也是连续的。
2024-11-18 11:12:00
748
原创 数据结构与算法复习目录
数据结构是存储数据的方式,而算法是操作这些数据的步骤和规则。学习常用的算法是数据结构的自然延伸。数据结构是组织和存储数据的一种方式,不同的数据结构适用于不同的问题。掌握这些数据结构和算法后,你可以应用它们来解决许多常见的编程问题和面试问题。学习如何识别贪心算法的适用场景,理解为什么贪心策略在某些情况下有效。是算法中非常常见的概念,尤其是在树的遍历、分治法等场景中。是学习算法中非常重要的部分。它可以帮助你评估算法的性能。是将问题划分为更小的子问题来解决,常见的例子有。学习数据结构和算法的最终目标是。
2024-11-18 10:44:46
276
原创 C++复习之 string的深入理解和仿写
string是 C++ 中处理字符串的核心类,它封装了内存管理,并提供了丰富的成员函数来方便地操作字符串。通过合理使用,可以大大简化代码并提高开发效率。在实际开发中,除了了解常用的方法外,性能优化和内存管理也是非常重要的,尤其是在进行大量字符串操作时。下面是我对string的仿写String . h#include // 为了异常处理public:// 构造函数、拷贝构造函数和析构函数// 默认构造函数// 拷贝构造函数// 移动构造函数~String();// 析构函数。
2024-11-15 19:42:28
1083
原创 Linux网络编程第二弹---静态库和动态库的制作 --Makefile
静态库使用ar命令创建,链接时直接打包到可执行文件中。动态库使用-shared选项创建,运行时动态加载,链接时需要设置-Wl,-rpath或环境变量。但是一般情况下 我们的代码结构是这样的include包含头文件 lib是制作的库文件 src是源文件的.c代码,testcode是我们的测试代码现在开始这个流程静态库使用ar命令创建,链接时直接打包到可执行文件中。动态库使用-shared选项创建,运行时动态加载,链接时需要设置-Wl,-rpath或环境变量。
2024-11-14 23:58:06
1000
原创 Linux网络编程之 GDB的调试
使用-g选项用于在编译时包含调试符号,这样可以在 GDB 中查看源代码信息。这将进入 GDB 调试器,并加载可执行文件。(gdb) runnnextsstepfinishpprint 变量名在程序暂停时,可以使用backtrace(gdb) quit。
2024-11-14 23:47:38
301
原创 Linux 网络编程第一弹 --GCC
我用的直接是 跑深度学习的AutoDL服务器,然后搭配VSCode SSH远程登录大家要是通过虚拟器VM来登录自己去 搜索这些环境搭建教程但是我超级推荐用VScode,非常方便。
2024-11-13 23:52:06
533
原创 C++ 模式复习 ---观察者模式
通过这个例子,你可以看到观察者模式如何让多个对象自动响应另一个对象的变化。如果你有任何问题,或者想更深入地理解某个部分,随时告诉我!,使得多个观察者对象能够监听某一个主题对象。当该主题对象发生变化时,它的所有观察者都会收到通知并自动更新。观察者模式是一种行为型设计模式,它定义了一种。
2024-11-13 19:56:21
332
原创 C++ 设计模式复习 ----单例模式
单例模式的目的是确保在整个应用程序中,某个类只存在一个实例。这样做的原因主要是为了 统一管理资源 和 控制访问,避免创建多个实例可能引发的问题。
2024-11-13 17:34:08
499
原创 C++复习之文件操作
在 C++ 中,文件操作主要依赖于 fstream 库,该库提供了文件输入输出的基础功能。文件操作可以分为读取文件和写入文件两部分,分别对应ifstream(文件输入流)和 ofstream(文件输出流)。fstream 类同时支持文件的读写操作。接下来,我将详细介绍 C++ 中文件操作的相关知识,包括文件的打开、读取、写入、关闭等操作。
2024-11-12 19:22:18
843
原创 C++复习之 输入输出流 iostream istream ostream fstream详解
在上一章运算符重载的时候 在写重载的时候,使用到了ostream和istream现在对这个进行一个详细的了解!这还是一幅祖传的图哈哈哈哈所以我们可以很明确的说,其实 cout,cin 都是对象!!!(大家可以去一层的看,真的就是上面的图的结构)
2024-11-12 18:33:45
280
原创 C++ 复习 之 运算符重载!
这里写自定义目录标题今天复习的是运算符的重载,运算符的重载可以使我们自定义的类型更像是一个内置类型,可以便捷的使用 +,-,*,/,++,–,<<,>>等符号直接进行操作。我实现的是一个复数类型的重载Complex.h 里边是复数类的函数声明#pragma once#include<iostream>class Complex{public: Complex(): _real(0.0),_virtual(0.0) { }; //构造函数
2024-11-12 18:04:11
665
原创 C++复习 ---- 命名空间
在C++中,命名空间(namespace)是一种用于组织代码的方式,主要目的是防止命名冲突。通过命名空间,可以将相关的变量、函数、类等组织在一起,使得代码更加模块化和易于维护。其实我们在C++中的就是使用了命名空间,为了可以使用 cin 和cout.
2024-11-11 21:05:02
190
原创 C++复习--函数重载
在C++中,main函数通常有两种标准的定义方式,分别是:有参数和无参数的main函数你也可以传入第三个三参数,是环境变量,但是一般标准就是两个。在C++中,函数重载(FunctionOverloading)是一种允许在同一个作用域中定义多个同名函数的特性,但这些函数的参数列表(参数类型、数量或顺序)必须不同。函数重载是C++的多态性表现之一,使得同一个函数名可以根据传递的参数执行不同的功能。
2024-11-11 20:45:39
308
原创 C语言复习 结构体 和 联合体
在C/C++中,内存对齐是指编译器在为结构体中的每个成员分配内存时,会按照一定的规则对内存地址进行对齐,以提高内存访问效率。内存对齐可以减少CPU访问内存的次数,从而提升性能,但会造成一定的内存浪费。例如,在GCC编译器中,可以使用__attribute__((packed))来让结构体不进行内存对齐,编译器将按实际需要的大小来分配内存,不添加填充字节。所以,无论你这个结构体的三个变量的顺序是什么样子,最后的结构体的大小是一样的。在某些情况下,我们可以通过编译器的指令或属性来。改变结构体的内存对齐。
2024-11-11 18:23:00
244
原创 C++指针复习(二)
我理解的const是从变量名开始的,ptr是变量名,ptr代表是指针,int代表是指向int类型的指针,const修饰int,表示指向的int类型的值,不能修改。第二个ptr是变量名,const表示ptr存的数据不能改变,int表示指向int类型的指针,所以表示ptr存的地址不能修改,但是指向的int数据可以修改也可以通过左侧优先的原则去理解const第一个 const修饰的是 int 表示指向数据不可变第二个const修饰的是 int * 表示指向的地址不可变。
2024-11-11 11:33:49
300
原创 C++ 变量初始化的三种方式 = { }、{ } 和 ()
建议大家去使用列表初始化,圆括号和等号括号初始化都有自己的局限性,圆括号初始化一般都是调用写好的构造函数之类的才能使用,等号括号初始化可能会出现类型隐式转化导致的问题,而列表初始化具有很严格的初始化检查!在C++中,变量的初始化方式有多种。主要有以下三种格式:= { }、{ } 和 ()。
2024-11-11 00:08:55
192
原创 C++ 构造函数 拷贝构造函数 移动拷贝构造函数
1.临时对象临时对象是指在表达式计算过程中短暂存在的对象,这些对象会在表达式结束后马上销毁。例如:函数返回值:函数返回一个对象的情况。类型转换:在类型转换过程中创建的中间对象。匿名对象:没有绑定到任何变量的对象。临时对象通常是右值,因此也被称为右值对象。右值对象无法通过普通的左值引用绑定,只能通过右值引用(T&&)进行绑定和操作。2.生命周期临时对象的生命周期非常短暂,通常只在表达式的计算过程中存在。例如:在函数返回一个对象时,返回的对象是一个临时对象。
2024-11-08 13:01:18
1063
原创 2024.11.7总结 C语言的陷阱到C++的改进
比如说你会发现,首先第一行本来应该是不能通过的,但是没用那个{}去定义,然后用=定义的话,不会有那么多格式限制,字符依然会被存储,但是会截断,abc只显示c.第五行同样如此 string(1,a) 表示 如果使用两个参数,第一个是数量(size_t),第二个是一个字符(char)。但是很明显,可以观察到,你存储 ‘yes’,也是会截断。这是注意的第一点!!
2024-11-07 19:27:15
327
原创 static_cast、const_cast、dynamic_cast 和 reinterpret_cast 类型强转
在 C++ 中,static_cast、const_cast、dynamic_cast 和 reinterpret_cast 是四种不同类型的强制转换运算符,分别用于不同的转换场景。它们的作用和使用方式各不相同,适用于不同的转换需求。下面逐一解释它们的用途和特点。
2024-11-07 18:06:19
185
原创 有符号数和无符号数
当 int i = -4 时,将 i(有符号整数)与 sizeof(int)(无符号整数)进行比较会发生类型转换。由于 i 是负数,比较时会先将 i 转换为无符号类型,这样一来,-4 会被视为一个非常大的无符号数(在大多数平台上,相当于 4294967292),这显然大于 4,所以条件 i < sizeof(int) 为假,导致循环体根本没有执行。因此,在你的代码中,sizeof(int) 返回一个无符号的整数 4。第三行, 无法输出任何数字。
2024-11-04 16:58:40
241
原创 为什么定义float a=0.1,你的0.1显示的是double,而定义 float a=0.1f,你的0.1显示float
将浮点常量默认视为 double 类型可以提供更高的精度和范围,并且在许多应用中更为安全和高效。如果需要 float 类型,可以使用 f 后缀进行明确指定。后缀 f 的作用:如果你使用 float ft = 12.23f;,编译器知道 12.23f 是 float 类型的常量,因此不会进行任何转换,直接将其赋值给 ft。C 语言允许将 double 转换为 float,但这会发生隐式转换,可能导致精度损失。常量类型:当你写 float ft = 12.23;时,ft 变量的类型是 float。
2024-11-04 16:02:38
198
原创 程序执行时的内存分配情况总结!
管理方式不同:栈是由编译器自动申请和释放空间,堆是需要程序员手动申请和释放;空间大小不同:栈的空间是有限的,在64位平台下,VC6下默认为2M,堆最大可以到4G;能否产生碎片:栈和数据结构中的栈原理相同,在弹出一个元素之前,上一个已经弹出了,不会产生碎片,如果不停地调用malloc、free对造成内存碎片很多;生长方向不同:堆生长方向是向上的,也就是向着内存地址增加的方向,栈刚好相反,向着内存减小的方向生长。分配方式不同:堆都是动态分配的,没有静态分配的堆。栈有静态分配和动态分配。
2023-10-31 19:50:18
439
原创 程序编译链接的过程详解
即程序员通过编辑器创建并保存的文本文件。源程序实际上就是一个由0和1组成的位(又称比特)序列,8个位被组织成一组,称为字节。每个字节表示程序中的某些文本字符。像 .c 这样只由ASCII字符构成的文本称为文本文件,其他所有的文件都称为二进制文件。为了在系统上运行这个程序,每条C语句都必须被其他程序转化为一系列的低级机器语言指令,然后这些指令按照一种为可执行目标程序的格式打好包,并以二进制磁盘文件的形式存放起来。目标程序也称为可执行目标文件。
2023-10-31 17:25:00
319
原创 啥是 WIFI6
WiFi 6,其实就是第6代无线技术——IEEE 802.11 ax,802.11 是什么?故事还要从23年前说起。1997年,全球最大的专业学术组织电气电子工程师协会(Institute of Electrical and ElectronicsEngineers,IEEE)推出了世界上第一个无线局域网标准IEEE802.11,工作频段为2.4GHz,数据传输速率为2Mbit/s,实现了无线上网,解决了上网受网线束缚的问题。
2023-10-31 11:10:05
465
原创 使用Git工具进行版本控制!详细说明!
我们都知道使用Git工具可以在代码工程中进行很方便的版本回溯,但是它的妙用还有很多,比如说写论文的过程中就可以使用git进行版本控制,比每次修改一次论文就得保存一版新的要方便很多。
2023-10-29 19:43:54
94
原创 C语言复习(四)——变量、常量、标识符
变量是以某标识符为名字,其数值可以改变(可读,可写)。常量其值不可改变(只可读,不可写)。什么是声明,什么是定义?什么是定义:所谓的定义就是,这个名字就是我们经常所说的变量名。但注意,这个名字一旦和这块内存匹配起来,它们就,并且这块内存的位置也不能被改变。,如果定义多次,编译器会提示你重复定义同一个变量或对象。什么是声明:有两重含义,如下:第一重含义:告诉编译器,这个名字已经匹配到一块内存上了。第二重含义:告诉编译器,我这个名字我先预定了,别的地方再也不能用它来作为变量名。
2023-10-24 11:17:32
323
原创 C语言复习(二)——什么是C语言!!
C 语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且 C语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。1982 年成立 C 标准委员会,建立 C 语言的标准。1989 年,ANSI 发布了第一个完整的 C 语言标准——ANSIX3.159—1989,简称“C89”。
2023-10-24 11:15:28
72
原创 解决编译时出现“Recipe terminated with error.”问题时关注的两个问题!!!!!!!
解决vscode 编译出错的问题的两种方式,首先检查你的json文件修改的位置是不是全局,后查看你的环境变量!!
2023-10-21 13:28:19
5008
10
本科-/算法实验报告0/1背包+内部排序
2024-01-18
关键路径课程设计.zip
2024-01-18
基于QT的停车场管理系统
2024-01-18
数字电路基础课程设计-数字电子时钟
2023-10-19
操作系统课程设计报告论文
2023-10-18
操作系统课程设计:银行家算法算法
2023-10-18
C++课程设计高校水电管理系统+课程报告
2023-10-16
大学生C++课设,高校水电管理系统
2023-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人