- 博客(4)
- 收藏
- 关注
原创 c++程序符号表浅析(linux环境)
对于静态的以及非静态的全局变量,未初始化的变量会存放在.bss节,而初始化了的变量存放在.data节,结合代码可以看到全局变量pi对应符号的Ndx值为3,全局变量dwArea对应符号的Ndx值为4。局部变量是程序运行时在进程内存的栈区动态分配的,所以不会被分配在ELF文件的任何区域,符号表中也不会生成对应的符号。全局符号的作用域是整个可执行文件,整个作用域中的全局符号不能有重复的,但是全局符号和外部符号可以重复(实际上链接过程就是将全局符号和外部符号关联起来)。
2024-10-16 10:44:30 1019
原创 boost线程问题
我之前一直以为创建了boost::thread对象后,要调用join或者detach线程才跑。然后看别人写的创建的几个线程在主线程中,第一个线程join完第二个线程join,我当时想这样不就是等第一个线程跑完了第二个线程才开始跑吗?现在才知道线程对象创建时就已经开始跑了,依次join只是保证所有的线程都跑完主线程才继续执行。
2023-02-08 21:10:43 144 1
原创 判断平衡二叉树新思路(C++)
剑指offer-39-平衡二叉树的判断(栈实现)先给出题目:由于题目里给的默认节点类型里没有树高的变量,所以得要自己用函数去计算树高并作比较,看了下答案里的做法是用两个函数来实现,IsBalanced_Solution函数里定义树高和IsBalanced函数,通过树高的引用传参并调用自己实现递归,并实现里层函数对外层函数变量的修改。//后续遍历二叉树,遍历过程中求子树高度,判断是否平衡class Solution {public: bool IsBalanced(TreeNode *ro
2021-03-20 19:39:40 164
原创 TinyTree
建立一个方便刷题调试的二叉树(VS2019环境)在刷数据结构和算法的题的时候,涉及到二叉树的部分,比如镜像反转二叉树、判断平衡二叉树等等,往往需要一些现成的二叉树来进行测试。而创建一个二叉树比较麻烦,而且没法实时观察到各节点数据的分布情况。这里我借鉴牛客网的方法,将二叉树序列化成一个数组来表示这是牛客网的说明,我这里简化了下,把‘#’换成NULL也就是0来代表空节点。将节点和二叉树以及一些操作都写进了类模板里,在Tree类的构造函数中实现了二叉树的构造,构造函数的参数为装有序列化数组的vector容
2021-03-20 17:20:20 171 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人