- 博客(4)
- 收藏
- 关注
原创 C++对象模型之拷贝构造函数
Default Memberwise Initialization如果类没有提供一个显式的copy constructor,当类对象以相同的类的另一个对象作为初值时,其内部是以所谓的default memberwise initialization手法完成的,也就是把每一个内建的或派生的数据成员的值,从某个对象拷贝一份到另一个对象身上,不过它并不会拷贝其中的member class object,而是以递归的方式施行memberwise initialization。Bitwise Copy Seman
2020-07-31 21:18:14 174
原创 C++对象模型之默认构造器
带有Default Constructor的Member Class Object如果一个类没有任何constructor,但它内含一个member object,而后者有default constructor,那么这个类的implicit default constructor就是nontrivial,编译器会为此合成出一个default constructor。只是这个合成操作只有在constructor真正需要被调用时才会发生。示例如下:class Foo {public: Foo()};cla
2020-07-31 18:07:31 226
原创 gdb如何定位死锁的位置
实例代码如下:#include <iostream>#include <mutex>#include <thread>using namespace std;//互斥锁mutex mtx;//线程共享资源int i = 0;//线程入口函数void func(){ mtx.lock(); cout << "进入线程!" << endl; ++i;}int main(){ thread t1(func); t
2020-07-21 13:24:18 1251
原创 堆排序原理与C++实现
思路1.建堆(大根堆为例)(1)从倒数第一个非叶子节点开始,做下沉操作,直到根节点。(2)下沉操作,对父节点和其儿子节点做比较,若父节点最大,则结束,否则就下沉,然后对发生变化的儿子节点做同样的下沉操作,直到叶子节点。2.堆排序(1)将根节点与最后一个叶子节点互换位置;(2)对根节点做下沉操作。C++实现#include <iostream>#include <vector>#include <functional>using namespace
2020-07-03 18:11:41 180
基于gmock实现的cppmockfree的使用方法总结
2023-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人