C++
文章平均质量分 81
AWei_i_i
谁痛苦谁改变,谁改变谁受益。
展开
-
private 属性的虚函数
虚函数(不管是不是纯虚函数)的声明为 private 是为了阻止派生类访问基类的实现,而派生类可以有自己的实现。虚函数不管访问性是 public、protected 还是 private,都能实现多态,受影响的只有外部可见性。原创 2024-03-29 11:16:17 · 278 阅读 · 0 评论 -
boost 定时器
函数, 重新设置定时到期时间。同时取消的 1 个异步等待操作。可以看到,在第二次设置定时器超时时间时,原来的计时器被取消,handler 被立即调用,且错误码不为 0。,提供的处理程序将被调用一次。时,handler 不会被调用。context 调用。原创 2024-03-25 00:21:09 · 232 阅读 · 0 评论 -
thread局部变量的销毁时机
之后,主线程退出抛了一个异常。分析过后发现是 zmq_context 退出时子线程中的 zmq_socket 没有释放导致的。项目中的测试程序子线程。原创 2024-03-25 00:18:57 · 225 阅读 · 0 评论 -
ZeroMQ proxy 使用心跳检测 server 是否可用
zmq_proxy()函数在当前应用程序线程中启动内置的0MQ 代理。代理将前端套接字连接到后端套接字。从概念上讲,数据从前端流向后端。根据套接字类型,回复可能会以相反的方向流动。该方向只是概念性的;代理是完全对称的,前端和后端之间没有技术差异。在调用 zmq_proxy() 之前,需要设置必要的套接字选项,并连接或绑定前端和后端套接字。zmq_proxy() 在当前线程中运行,。如果捕获套接字不为 NULL,则代理应。原创 2024-03-25 00:02:13 · 960 阅读 · 0 评论 -
vector括号和花括号初始化
圆括号是通过调用 vector 的构造函数进行初始化的,如果使用了花括号那么初始化过程会尽可能会把花括号内的值当做元素初始值的列表来处理。如果初始化时使用了花括号但是提供的值又无法用来列表初始化,那么就考虑用这些值来调用 vector 的构造函数了。原创 2024-03-24 23:47:23 · 221 阅读 · 0 评论 -
Linux 系统编程入门
Linux系统编程入门原创 2022-08-27 18:00:36 · 360 阅读 · 0 评论 -
代码随想录刷题笔记
双指针反转字符串替换空格,先给数组扩容再从后向前操作移除元素,快慢指针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 · 810 阅读 · 0 评论 -
红黑树笔记
红黑树介绍及相关操作原创 2022-08-04 13:33:40 · 123 阅读 · 0 评论 -
C++中虚函数、虚继承内存模型
虚函数地址通过虚指针索引的虚函数表在运行时确定;虚表中不仅储存了虚函数的地址,还储存了类型RTTI的地址、距实际类型首地址偏移量等信息;虚函数的调用可能涉及到this指针的变更,需要Thunk等方式实现;对于虚基类的派生类,虚基类的偏移量由实际类型决定,因此在运行时才可以确定虚基类的地址;在多态类型的构造和析构过程中,通过修改虚指针使其指向不同的虚表,可以实现在不同的阶段调用不同的虚函数;对于虚继承的情况,由于同一类型虚表的虚表在不同具体类型中可以不同,在构造和析构时,需要通过VTT。...转载 2022-07-28 20:57:50 · 437 阅读 · 0 评论 -
侯捷 C++11/14 笔记
可变参数模板。函数模板类模板参数个数利用参数个数逐一递减的特性,实现递归函数的调用,使用函数模板完成。参数类型利用参数个数逐一递减以致参数类型也逐一递减的特性,实现递归继承或递归复合,以类模板完成。{}template//这里的...是关键字的一部分模板参数包voidprint(constT&firstArg,constTypes&...args)//这里的...要写在自定义类型Types后面,.........原创 2022-07-28 20:35:21 · 669 阅读 · 0 评论 -
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 · 798 阅读 · 0 评论