- 博客(28)
- 收藏
- 关注
原创 private 属性的虚函数
虚函数(不管是不是纯虚函数)的声明为 private 是为了阻止派生类访问基类的实现,而派生类可以有自己的实现。虚函数不管访问性是 public、protected 还是 private,都能实现多态,受影响的只有外部可见性。
2024-03-29 11:16:17
322
原创 为 WSL2 一键设置代理
例如 Windows 的代理客户端监听了 8000 端口,那么只需要在 Linux 子系统中执行如下命令,就可以让当前 session 中的请求通过代理访问互联网。由于 Linux 子系统也是通过 Windows 访问网络,所以 Linux 子系统中的网关指向的是 Windows,DNS 服务器指向的也是 Windows,基于这两个特性,我们可以将 Windows 的 IP 读取出来。7890 是 Windows 上运行的代理客户端的端口,记得要在 Windows 代理客户端上配置允许本地局域网请求。
2024-03-25 11:08:01
1677
原创 大话设计模式读书笔记
策略模式的 Strategy 类层次为 Context 定义了一系列可供重用的算法或行为。继承有助于析取出这些算法中的公共功能。简化单元测试,每个算法都有自己的类,可以通过自己的接口单独测试。当不同的行为对齐在一个类中时,就很难避免使用条件语句来选择合适的行为。将这些行为封装在一个个独立的 Strategy 类中,可以在使用这些行为的类中消除条件语句。
2024-03-25 00:25:22
737
原创 boost 定时器
函数, 重新设置定时到期时间。同时取消的 1 个异步等待操作。可以看到,在第二次设置定时器超时时间时,原来的计时器被取消,handler 被立即调用,且错误码不为 0。,提供的处理程序将被调用一次。时,handler 不会被调用。context 调用。
2024-03-25 00:21:09
308
原创 thread局部变量的销毁时机
之后,主线程退出抛了一个异常。分析过后发现是 zmq_context 退出时子线程中的 zmq_socket 没有释放导致的。项目中的测试程序子线程。
2024-03-25 00:18:57
276
原创 zmq 高水位标记
每个个从套接字触发或进入套接字的连接都有自己的管道,以及用于发送和/或接收的 HWM,具体取决于套接字类型。在 ZeroMQ v3.x 中,默认设置为1,000,也可以是考虑到消息大小和预期 subscriber 性能的其他数字。PUB、SUB 和 ROUTER 套接字如果达到其 HWM 将丢弃数据,而其他套接字类型将阻塞。传输中,发送方和接收方共享相同的缓冲区,因此真正的 HWM 是双方设置的 HWM 之和。进程中高速发送消息时,流程中某处几秒钟的延迟可能会导致消息积压,从而导致服务器内存耗尽崩溃。
2024-03-25 00:03:30
598
原创 ZeroMQ proxy 使用心跳检测 server 是否可用
zmq_proxy()函数在当前应用程序线程中启动内置的0MQ 代理。代理将前端套接字连接到后端套接字。从概念上讲,数据从前端流向后端。根据套接字类型,回复可能会以相反的方向流动。该方向只是概念性的;代理是完全对称的,前端和后端之间没有技术差异。在调用 zmq_proxy() 之前,需要设置必要的套接字选项,并连接或绑定前端和后端套接字。zmq_proxy() 在当前线程中运行,。如果捕获套接字不为 NULL,则代理应。
2024-03-25 00:02:13
1199
原创 vector括号和花括号初始化
圆括号是通过调用 vector 的构造函数进行初始化的,如果使用了花括号那么初始化过程会尽可能会把花括号内的值当做元素初始值的列表来处理。如果初始化时使用了花括号但是提供的值又无法用来列表初始化,那么就考虑用这些值来调用 vector 的构造函数了。
2024-03-24 23:47:23
304
原创 git pull、git fetch、git merge 与 git rebase
git pull 与 git fetch 的功能大致相同,起到更新代码的作用。
2023-05-11 19:47:45
160
原创 git 简明指南笔记
在这两种情况下,git会尝试自动合并改动,发生冲突时(conflicts)需要手动合并,合并成功之后使用。创建仓库时,master 是“默认的”分支。1b2e1d63ff 是要标记的提交 ID 的前 10 位字符。如果本地仓库没有关联远端仓库,使用如下命令添加远端仓库。可以使用少一点的提交 ID 前几位,只要它的指向具有。命令将暂存区的改动提交到HEAD并清空暂存区;将远端仓库的改动更新到本地仓库。将文件添加到暂存区标记为合并成功。命令将工作区的改动添加到暂存区;将HEAD中的内容替换到暂存区。
2023-05-11 19:35:00
137
原创 代码随想录刷题笔记
双指针反转字符串替换空格,先给数组扩容再从后向前操作移除元素,快慢指针erase是O(n)O(n)O(n)的操作,放在for循环里会导致O(n2)O(n^2)O(n2)的复杂度。反转KMP:字符串匹配问题C++中stack,queue 是容器么?我们使用的stack,queue是属于那个版本的STL?我们使用的STL中stack,queue是如何实现的?stack,queue 提供迭代器来遍历空间么?栈里面的元素在内存中是连续分布的么?...
2022-08-04 13:39:03
880
转载 C++中虚函数、虚继承内存模型
虚函数地址通过虚指针索引的虚函数表在运行时确定;虚表中不仅储存了虚函数的地址,还储存了类型RTTI的地址、距实际类型首地址偏移量等信息;虚函数的调用可能涉及到this指针的变更,需要Thunk等方式实现;对于虚基类的派生类,虚基类的偏移量由实际类型决定,因此在运行时才可以确定虚基类的地址;在多态类型的构造和析构过程中,通过修改虚指针使其指向不同的虚表,可以实现在不同的阶段调用不同的虚函数;对于虚继承的情况,由于同一类型虚表的虚表在不同具体类型中可以不同,在构造和析构时,需要通过VTT。...
2022-07-28 20:57:50
468
原创 侯捷 C++11/14 笔记
可变参数模板。函数模板类模板参数个数利用参数个数逐一递减的特性,实现递归函数的调用,使用函数模板完成。参数类型利用参数个数逐一递减以致参数类型也逐一递减的特性,实现递归继承或递归复合,以类模板完成。{}template//这里的...是关键字的一部分模板参数包voidprint(constT&firstArg,constTypes&...args)//这里的...要写在自定义类型Types后面,.........
2022-07-28 20:35:21
769
原创 C++11新特性
C++11标准为C++编程语言的第三个官方标准,正式名叫ISO/IEC14882在正式标准发布前,原名C++0x。它将取代C++标准第二版ISO/IEC148822003-Programminglanguages–C++成为C++语言新标准。C++11是对目前C++语言的扩展和修正,C++11不仅包含核心语言的新机能,而且扩展了C++的标准程序库(STL),并入了大部分的C++TechnicalReport1(TR1)程序库(数学的特殊函数除外)。}}}...
2022-07-28 20:32:16
897
原创 面向高光谱图像的多特征融合哈希
原文:Efficient Multiple Feature Fusion With Hashing for Hyperspectral Imagery Classification: A Comparative Study面向高光谱图像的多特征融合哈希I. IntroductionII. MFH FrameworkIII. Feature HashingIV. Experiment Setting*A. Data Sets**B. Multiple Feature Extraction**C. Evalu
2021-05-14 18:40:20
1731
转载 linux权限补充:rwt rwT rws rwS 特殊权限
原文链接:linux权限补充:rwt rwT rws rwS 特殊权限众所周知,Linux的文件权限如: 777;666等,其实只要在相应的文件上加上UID的权限,就可以用到加权限人的身份去运行这个文件。所以我们只需要将bash复制出来到另一个地方,然后用root加上UID权限,只要用户运行此Shell就可以用用root的身份来执行任何文件了。一个文件都有一个所有者, 表示该文件是谁创建的. ...
2018-11-16 23:55:27
776
原创 linux进程访问文件时的存取许可权限
若进程的有效用户ID是0(root),则允许存取;若进程的有效用户ID等于文件的所有者ID(即该进程拥有文件) -若所有者存取许可权被设置,则允许存取 -否则拒绝存取若进程的有效组ID或进程的添加组ID之一等于文件组ID: -若组存取许可权被设置,则允许存取 -否则拒绝存取若其他用户存取许可权被设置,则允许存取,否则拒绝存取内核按顺序执行上述4步测试。若进程拥有此文...
2018-11-16 23:24:38
1064
原创 Linux学习(1)——文件IO
目录文件的基本操作(打开、定位、读写、关闭)文件操作的基本顺序open函数文件描述符I/O效率文件共享其他重要I/O函数文件的基本操作(打开、定位、读写、关闭)文件操作的基本顺序打开 open创建 create定位 lseek读 read写 write关闭 closeopen函数用于打开或者创建一个文件函数原型#include<fcntl.h&am
2018-11-13 21:34:06
318
原创 基于消息队列的多进程服务器
目录思路实现原始代码修改遇到的问题修改后的代码思路参考:Linux进程间通信(IPC)编程实践(五)消息队列实现回射客户/服务器1)server进程接收时, 指定msgtyp为0, 从队首不断接收消息;2)server进程发送时, 将mtype指定为接收到的client进程的pid;3)client进程发送的时候, mtype指定为自己进程的pid;4)client进程接收时, 需要...
2018-10-25 23:46:32
939
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人