面试题
文章平均质量分 54
xiaoyaolangwj
凡读必记
展开
-
C/C++ 中 volatile 关键字详解
而且读取的数据立刻被保存。在此段代码中,nMyCounter 的拷贝可能存放到某个寄存器中(循环中,对 nMyCounter 的测试及操作总是对此寄存器中的值进行),但是另外又有段代码执行了这样的操作:nMyCounter -= 1;//等待上面的线程终止,如果bStop不使用volatile申明,那么这个循环将是一个死循环,因为bStop已经读取到了寄存器中,寄存器中bStop的值永远不会变成FALSE,加上volatile,程序在执行时,每次均从内存中读出bStop的值,就不会死循环了。原创 2023-06-26 14:49:54 · 380 阅读 · 0 评论 -
C++笔记:指针转向(重新赋值)时的问题;重复释放;原地址遗漏释放;赋值运算符重载operator=;
指针转向时原空间内存释放。指针指向的地址,存在二次释放的风险,所以需要深拷贝。在堆中重新开辟一块空间,将指向的内容传入进去。原创 2023-03-19 23:59:11 · 553 阅读 · 0 评论 -
面试可能会问六:智能指针
智能指针的一般理解。原创 2023-03-19 22:32:07 · 102 阅读 · 0 评论 -
C/C++面试可能会问五:malloc、free和new、delete可以混搭使用吗?也就是说malloc分配的内存,可以调用delete吗?通过new创建的对象,可以调用free来释放吗?
如果直接用free释放new对象,那么会导致析构函数不被调用。new是一个运算符,malloc是一个函数。所有new出来的对象,都返回该类型的。而且malloc不会去调用构造函数。释放堆区空间要用delete。但是new会调用构造函数。而malloc则返回。原创 2023-03-17 10:21:32 · 836 阅读 · 1 评论 -
C语言数据结构八:排序算法:冒泡排序;选择排序;插入排序;
排序算法;冒泡排序,选择排序,插入排序。原创 2023-03-14 16:39:13 · 68 阅读 · 0 评论 -
C语言数据结构七:二叉树非递归遍历
因为引入bool量,所以引用:<stdbool.h>必须采用栈的这种先进后出的特性。初始化根节点:返回根节点,然后输入为。我们继续采用前面是用的栈的代码。节点结构体:除了节点,还需要一个。二叉树的非递归遍历,必须借助。原创 2023-03-14 16:08:04 · 741 阅读 · 0 评论 -
C语言数据结构六:树。二叉树遍历。先序遍历,中序遍历,后序遍历。二叉树叶节点数,二叉树高度,二叉树拷贝;二叉树释放。
(二叉)树中,一个节点,你也要把他看做成树。子树。一个节点都没有叫做空树。所以说:树具有递归性。树是非线性结构,有一个,但是可能有很多。树中,应用最多的还是二叉树。原创 2023-03-14 14:38:50 · 360 阅读 · 0 评论 -
C/C++面试可能会问三:指针和数组一样吗?
1. sizeof 2.对数组名取地址&arr原创 2023-03-12 21:33:31 · 1000 阅读 · 0 评论 -
C/C++面试可能会问二:静态库与动态库
C/C++面试可能会问二:静态库与动态库;牵一发而动全身。运行时再完成链接。原创 2023-03-12 11:28:33 · 162 阅读 · 0 评论 -
C/C++面试可能会问一:静态链表与动态链表
C/C++面试可能会问一:静态链表与动态链表原创 2023-03-12 11:15:01 · 173 阅读 · 0 评论