- 博客(41)
- 收藏
- 关注
原创 力扣刷题总结——栈和队列
可以出一道面试题:栈里面的元素在内存中是连续分布的么?刷完栈和队列,对STL的内容有了更加深刻的认识。,而被归类为container adapter(栈的内部结构,栈的底层实现可以是。都是可以的, 主要就是。
2024-04-27 20:39:20 347
原创 Linux fcntl函数
(dup2复制指定的fd,而F_DUPFD用的是lowerst)On success, the new file descriptor is returned.fd是文件描述符,cmd是命令(定义的宏),…表示可变的参数(可有可不有)作用:复制文件描述符、设置/获取文件的状态标志。读法:file control函数。指定的文件描述符文件状态flag。文件描述符文件状态flag。
2024-04-23 11:17:16 700
原创 Linux 系统IO函数之stat、lstat函数
1、普通文件(regular file)2、目录(directory)3、字符设备(character device)4、块设备(block device)5、管道(FIFO)6、符号链接文件(symbolic link)7、套接字文件(socket)详情看。
2024-04-22 18:44:25 837 1
原创 Linux GDB调试
可以看出加入-g文件变大了。gdb test(gdb) help (查看帮助文档)(gdb) q (退出)-g选项的作用是在可执行文件中加入源代码信息,比如可执行文件中第几条机器指令对应源代码的第几行,并没有把源代码嵌入可执行文件中。所以源代码文件不可以没有。1、显示(gdb) list357 int a, b;12 b = 30;++i) {(gdb) list 10 (第十行开始显示)
2024-04-21 19:45:25 279
原创 C++ 指针越界的小实验
可以看出一点规律,即使指针访问越界,指针本身的值(地址)也是在以int大小(4)逐渐增加的,而它的解引用却比较奇怪,从边界+1的位置开始,呈现出。目前学的很浅,不知道原因,这里先记录一下,深入学习后再来更新。如果一个指针指向的数组发生指针越界时会怎么样呢?
2024-04-17 12:42:46 130
原创 KMP算法笔记-力扣28.找出字符串中第一个匹配项的下标
如果函数形参是int* next,那么实参就是&next[0],把首元素地址传过去,然后用一个in类型的指针指向它。例如,对于一个数组 int a[],你可以直接将 a 作为参数传递给函数,因为 a 本身就是数组的地址。相等的前缀和后缀,匹配失败的位置是 后缀子串 的后面(f),那么我们找到与后缀aa相同的前缀aa的 后面(b)重新匹配就可以了。前后缀不相等就回退,前后缀相等就更新next数组的值,最终得出next数组。vector 是一个。的,因此可以通过数组名或数组的指针来访问数组的元素。
2024-04-15 12:53:18 562
原创 C++ 一个有关类模板、构造函数、析构函数、拷贝构造、重载等的数组案例分析
我有个点不太确定,请大佬指正是否正确:因为arr1 2 3是创建在栈上的局部变量,所以遵循先进后出的原则释放,所以先释放arr3,然后依次释放arr2、arr1。花了两个多星期,黑马的课程终于看到STL模板库了,后面继续学习加油吧(ง •_•)ง。Main.cpp代码。
2024-04-12 16:45:48 302
原创 C++多态 内在原理剖析
这里由于创建的还是cat子类对象,所以调用speak公共接口时候,会从子类中找函数确实的入口地址,确定是cat的入口地址就会做cat的speak函数,确定是dog的入口地址就会做dog的speak函数。1、父类中定义虚函数会生成一个虚函数(表)指针,指向一个虚函数表,表内记录虚函数的地址:&Animal::speak, 这里用引用表示地址,speak是虚函数。当父类的指针或者引用指向子类对象时候,发生多态(运行时发生,属于动态多态)子类也只继承虚函数的指针:虚函数(表)指针,它指向一个虚函数表。
2024-04-09 13:52:47 336 1
原创 C++ this指针的概念和使用
在C++中成员变量和成员函数是分开存储的。每一个非静态成员只会诞生函数实例,也就是说多个同类型的对象会。那么问题是:这一块代码是如何区分哪个对象调用自己的呢?c++通过提供特殊的对象指针,this指针,解决上述问题。!this指针是在每一个 非静态成员函数 内的一种指针(内置的,我一直都在你身体里哦~)。this指针不需要定义,直接使用即可。
2024-04-06 15:26:47 1075 1
原创 C++使用g++链接动态库时遇到的问题
报错动态库加载失败:cannot open shared object file: No such file or directory。通过这以下命令创建动态库libcircle.so和libpoint.so(默认当前路径在main函数这里)有了,再运行./case2_share_main就可以正常运行了!看一下case2_share_main的动态库依赖关系。主文件:case2_main.cpp。头文件夹:include。
2024-04-03 15:00:44 336 1
原创 C++中指针delete的学习心得
2、delete掉的指针初始化为nullptr(C++11新标准下避免使用NULL),此时输出c会是0(也就是它的地址),而不能输出*c,因为空指针不指向所有对象。1、利用delete可以释放堆区的数据,但是并不会让这个指针消失,而是会统一的都指向某个地址,这个地址所对应的值也是一个 不确定 的值。通过我尝试发现,再重新预处理、编译、汇编、链接后,上面两个值会变化(我目前还不知道什么原因,还在学习中。new 和delete是运算符,不是函数,因此执行效率更高,malloc和free是函数;
2024-04-01 15:44:00 183
原创 解决vscode配置远程连接失败问题:过程试图写入的管道不存在的解决方法
还有个帖子说 把known_host(windows下everyt搜一搜就能找到)里面的内容删除掉,但是我试了没用T T。如果不行就重启一下VScode和虚拟机多尝试几次。再输入ifconfig就可以看到多了一个ip地址。1、sudo -i切换为root用户。2、输入dhclient -v。3、最后exit退出root。
2024-03-28 15:26:37 362
转载 Android Studio学习笔记(一)控件的使用
想通过Android Studio做毕业设计,因此开始学习此软件,这是B站的up主 国防科大Allen 的视频教程笔记,方法日后复习之用。1.TextView 设置跑马灯形式的滚动文本<TextView android:id="@+id/tv_one" android:text="@string/tv_one" android:shadowColor="@color/red" android:shadowRadius="3"
2022-01-10 20:28:48 574
原创 WebGIS学习笔记(二)OpenLayer+geoserver+jquery实现时间滑块控制各个朝代图层的显示
通过openlayer引用geoserver发布的矢量图,用jquery控制各个图层显示的函数,我是通过数字来控制的,1~24分别代表24个朝代,以此来写的JS函数。定义的一些变量var oSpanNum =1;//总的时期数//var chaodai = ["static/jsonData/春秋.json","static/jsonData/战国.json", "static/jsonData/秦.json", "static/jsonData/西汉.json", "static/jsonData/
2021-07-08 16:12:00 387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人