Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

在一些情况下我们先定义类A,再定义类B(这样的定义顺序是因为类B有个成员函数返回类型A(而不是A的引用或指针)),但是在类A中有一个数据成员的类型是类B的引用,此时便需要在类A的定义前先申明B // 申明模板类Graph template <typename BatchSetType> class Graph; // 定义模板类BlockCutTree template <...
c++

microseconds, us std::chrono::microseconds has_tag_delete_time = std::chrono::microseconds::zero(); auto d_t0 = std::chrono::steady_clock::now(); // do something auto d_t1 = std::chrono::steady_clo...
c++

https://www.geeksforgeeks.org/builtin-functions-gcc-compiler/ __builtin_clz(x): This function is used to count the leading zeros of the integer. Note : clz = count leading zero’sExample: It co...

public继承普通类,子类中可以直接用父类的protected和public成员 class base { protected: int a; typedef int value_type; }; class child : public base { public: void set(int o) { a = o; ...

概述 最大堆 时间复杂度: 取堆顶(最大元素):O(1) 插入/删除堆顶:O(logn),n为堆中元素数目 自定义判断“大”的函数:方法一:<操作符成员函数class T { ... bool operator<(const T&r){...} }; priority_queue<T> q...

给gcc的文件的顺序https://stackoverflow.com/questions/19901934/libpthread-so-0-error-adding-symbols-dso-missing-from-command-line找不到symbol定义可能是顺序不对,或者循环依赖的库没有写到后面重复出现 gcc还是g++找不到symbol定义可能是写成gcc了:比如,gcc和g+...

gcc或g++编译:SSE2不用给flag##include <immintrin.h> 给flag -march=native

valgrind 这个厉害!比如其中的memcheck工具,跑一遍告诉你哪里越界访问了!yyds! gdb细粒度跟踪(这个超级牛啊) 可以不断确定要在哪里打断点,然后r,带着已经打的断点重新观察 经验malloc abort 或者 delete报错(说二次释放可是其实没有)heap is corrupt:被程序写了不该写的地方,比如在数组/vector长度后面写东西 std:...

https://blog.csdn.net/zhizhengguan/article/details/116108271 语法1:定义在.h.h文件: template <typename T> class the_class{ static int id; }; template <typename T> int the_class&l...

方法一:watch窗口加expression后缀expression[,suffix]无后缀:十进值,x或,h:十六进制,o:八进制,b:二进制(低地址在右边)比如:undone.reg,b(reg是undone的private成员,也可以监控) 方法二:gdb内存查看命令xF5启动调试在断点处停住后,可以在debug console中通过-exec前缀执行gdb的命令比如内存查看指令x(g...