C++
文章平均质量分 74
良晨
keep coding...
展开
-
C 结构体链表的一点想法
我觉得这样的作法并不是太好,虽然从实现上是可行的,但这样会使 list 的职责不单一,也就是说结构体中的 list 节点可能是该结构体是一个链表节点,也可能是某个链表的链表头,而且某个结构体会出现多个 list 成员,这样结构体的可读性也不够高。这样的话 list 的职责就单一了,每个结构体只会含有一个 list,每个 list 必然连接的结构体是相同的。如果把另外两个链表头换成另外两个结构体的指针,这样能保证每个结构体都只有一个 list,而且职责单一,保证该 list 一定是表示该结构体是链表成员。原创 2024-03-21 16:38:26 · 284 阅读 · 0 评论 -
ros 框架解析-订阅部分
本文从roscpp源码的角度解析ros框架的订阅部分,目的是分析订阅相关的各个类的关系和作用,从而熟悉ros订阅功能底层调用过程,和ros节点之间的通信方式。源码地址是https。原创 2022-07-24 19:01:18 · 694 阅读 · 0 评论 -
重读&笔记系列-《Linux多线程服务端编程》第一章
C++《linux多线程服务端编程》笔记1 线程安全生命期管理析构函数与多线程C++多线程的几种竞态条件:析构时如何保证本对象不正在被执行使用使用对象时如何保证不正在被析构使用对象时本对象是否还活着线程安全class的三个条件:多线程访问能够正确执行多线程执行顺序不会影响程序行为无须额外同步或协调使用 MutexLock 和 MutexLockGuard 封装 mutex。线程安全的Counter(部分):int64_t Counter::value() const{原创 2021-03-28 23:01:10 · 219 阅读 · 0 评论 -
LeetCode - 和可被 K 整除的子数组
题目链接:https://leetcode-cn.com/problems/subarray-sums-divisible-by-k/题目描述给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目。示例:输入: A = [4,5,0,-2,-3,1], K = 5输出: 7解释: 有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -.原创 2020-05-28 18:58:40 · 334 阅读 · 0 评论 -
C++原理剖析之虚函数表
最近在看C++的一些相关的机制,再加上刚看了陈皓大神的早期关于虚函数表的博客,便自己动手通过编程了解了下虚函数表的原理。前言c++是通过虚函数来实现多态的的机制。我们可以通过将父类的指针指向子类的实例,如Base b = new Derive(),如此一来,如果子类Derive中重载了父类中的一个函数h(),那么调用b->h()等同于调用Derive d, d->h()。我们这...原创 2019-09-22 20:04:00 · 163 阅读 · 0 评论 -
C++的string类型中关于append函数、push_back函数和+=运算符的区别
内容翻译自 https://www.geeksforgeeks.org/stdstringappend-vs-stdstringpush_back-vs-operator-c/?ref=lbp引言C++的string类中,要想在字符串后附加字符,可以使用append函数、push_back函数或者是+=运算符,这些附加字符的方法其实现不尽相同,因此应用场景也不同。首先我们先一窥源码(gcc 4.9.2):basic_string.h: //---------------------------.原创 2020-05-22 16:19:59 · 5905 阅读 · 2 评论