
C++学习笔记
文章平均质量分 60
在C++学习过程中遇到的问题
刷题时记录的解题思路
不想学习的奈何
这个作者很懒,什么都没留下…
展开
-
CMake 同时编译两个程序
【代码】CMake 同时编译两个程序。原创 2024-10-30 07:22:05 · 323 阅读 · 0 评论 -
C++ thread线程库
简单介绍了thread库的类对象和类方法原创 2024-07-01 20:47:48 · 1287 阅读 · 0 评论 -
VS studio2019配置远程连接Ubuntu
(1)获取主机IP(2)获取Ubuntu的IP(3)在windows的控制台中ping虚拟机的ipv4地址,在Ubuntu中ping主机的ipv4地址。(4)在两边都ping通之后才能进行下面的操作。如果两个ip 不在同一个网段,则需要通过主机IP信息,去Ubuntu配置一条新的网段信息,并启用。原创 2024-06-27 17:12:59 · 937 阅读 · 0 评论 -
返回值返回引用返回指针之间的区别
(1)适用场景返回值:适用于基本数据类型或小对象 ,不需要考虑性能问题。或需要使用临时对象的场景。返回引用:适用于较大的对象 ,需要考虑性能问题的场景。返回指针:适用于动态分配内存或指针灵活指向的场景。(2)注意事项返回局部对象或局部变量时:局部变量和局部对象在使用后会被销毁 ,返回它们的引用会产生悬挂引用或悬挂指针。使用这些引用会产生未定义行为。内存管理: 对于函数内部手动分配的内存 ,在适当的时候需要进行销毁 ,以避免内存泄漏。不能返回指向已经被销毁的内存空间的指针。原创 2024-06-13 19:58:09 · 609 阅读 · 0 评论 -
C++构造函数-引用-对象创建
引用是一个别名,它为已存在的变量或对象提供了另一个名称。通过引用,可以使用原始变量或对象的名称来访问相同的内存空间。原创 2024-03-23 10:54:18 · 897 阅读 · 0 评论 -
类对象的初始化过程与方法
(1)对象在实例化的时候需要调用构造函数,如果对应的构造函数调用不了,这个对象是没有办法实例化的。(2)构造函数的执行,是在内存分配之后,在对象被完全实例化以前。原创 2024-03-22 20:11:44 · 685 阅读 · 0 评论 -
C/C++中枚举(enum)和结构体(struct)的异同
enum/struct在C/C++中的用法原创 2024-03-20 20:35:05 · 1251 阅读 · 0 评论 -
C/C++混合编译
这两个函数名看是经过了C++的名称修饰(name mangling),因为在C++中,函数重载会导致相同的函数名被修改以包含参数类型信息,以用来区分同名函数。**总的来说:**使用混合编程和动态链接库的方式能够充分发挥 C 和 C++ 语言的优势,提高项目的效率、可维护性和可扩展性,是现代软件开发中常见的实践之一。:使用动态链接库的方式可以实现 C 和 C++ 之间的互操作,因为动态链接库中的函数可以以 C 的方式进行链接,并且可以在 C++ 中调用。文件中包含了编译后的目标代码,其中包括了函数的实现。原创 2024-03-19 12:08:18 · 2679 阅读 · 0 评论 -
求两个数组的交集2
解题思路:1.统计数组中每个元素的值出现的次数,也就是每个元素出现了多少次2.遍历一个数组 nums2,找另一个数组nums1。3.如果当前被遍历到值 num 在nums1中存在,那么,去找 num 出现的次数。4.在遍历时,我们需要通过查找是否出现,即C++ 函数查找与键 k 关联的元素。如果操作成功,则方法返回指向元素的迭代器,否则返回指向 map::end() 的迭代器。原创 2023-12-23 11:17:32 · 419 阅读 · 1 评论 -
求两个数组的交集
思路:使用一个集合,将其中一个数组的元素存放到集合中,遍历另一个数组,利用集合 Unordered_set 的库函数 count 搜索当前遍历的数组元素,若这个数组元素在集合中存在,则把他插入到新的集合中。因为集合中的元素具有唯一性,所以重复的元素并不会被重复插入到集合。遍历结束,即可得到存放交集的集合,再将新集合的元素用数组保存,返回该数组即可。审题:求交集意味着要从两个无序数组中拿其中的相同的元素,集合中一个数可能出现多次,在返回的数组中,不需要相同的元素。2.建立新集合,保存交集。原创 2023-12-23 09:58:34 · 458 阅读 · 1 评论 -
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一
设置一个标志变量 flag 代表是否需要进位,若需要进位,若需要进位,则先判断当前元素是否需要进位,若当前元素为 9 需要进位,则将当前元素置为 0 ,并将flag 设置为 true,表示下一位也需要进位。(2)例如 999,此时,在数组中,不仅要使各个位置进位,而且还需要扩展数组,在数组的第 0 位插入一个1;(1)例如 19 ,19 只需要进一位,在数组中只需要将 9 置0,将 1 加上进位的 1,改成 20 即可。(1)判空,若数组长度为空,则直接向数组中插入一个 1 ,返回数组即可;原创 2023-12-21 10:56:08 · 954 阅读 · 0 评论 -
给定一个数组,移除数组中值为val的元素,并返回移除后数组的新长度
思路:将数组中值不为 val 的数组元素放到数组的前面,设置一个计数器,若找到一个不为 val 的值,则计数器 +1 ,遍历结束,返回计数器的值。通过计数器的值访问数组元素。1.建立两个 int 类型的值 i = 0,j = 0。i 用做计数器以及存放新值的索引,j 用来遍历数组;2.比较 nums[j]!= val 是否不等,如果不等,则将不等于 val 的元素放到索引为 i 的位置。并将 i 的值自增1。也意味着:如果找到了下一个元素的值,则下一个元素将会放到第 i+1的位置,而不会覆盖之前的元素。原创 2023-12-20 20:24:34 · 359 阅读 · 1 评论 -
假设环境不允许存储 64 位整数(有符号或无符号),将一个 32 位的有符号整数 x反转。解决溢出问题。
给你一个 32 位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围,就返回 0。原创 2023-12-16 09:28:51 · 435 阅读 · 0 评论 -
C++连接MySQL数据库实现对一个简单的学生信息系统的增删改查
(6)回到VS,继续打开解决方案的属性页——找到链接器——进入输入——附加依赖项——将libmysql.lib添加到依赖项中(末尾加上分号";(2)打开项目——右键解决方案——点击属性——点击VC++目录——将mysql.h文件路径添加到包含目录中去;(记得在路径末尾加上分号:";(3)在刚刚找到的mysql.h目录的上一级目录中,找到lib目录,进入lib目录,复制路径。中添加lib文件路径(同样在路径末尾加上分号";(1)在MySQL安装路径中找到。(5)进入lib目录,找到。这个文件,复制文件路径;原创 2023-05-24 13:09:26 · 1835 阅读 · 3 评论 -
C++猜数字游戏
3.断用户猜测的数字是否与答案相同,如果不同则给出相应的提示信息,如“猜大了”、“猜小了”等。5.可以设置猜测次数上限,超过上限未猜中则游戏失败。4.循环进行猜测和提示,直到用户猜中为止。1.生成一个随机数作为答案。2.要求用户输入猜测的数字。原创 2023-05-20 18:20:41 · 1194 阅读 · 1 评论