04 2023 档案
摘要:c++11 // #pragma once #include <iostream> #include <thread> #include <memory> #include <vector> #include <queue> #include <functional> // std:;functio
阅读全文
摘要:cppreference解释地址。 模板参数包在模板参数中的顺序要求: 在主类模板中,模板参数包必须是模板参数列表中的最后一个参数。 在函数模板中,模板参数包可能出现在列表的前面,前提是以下所有参数都可以从函数参数中推导出来,或者具有默认参数: template < typename U, type
阅读全文
摘要:**Cmake中要将编译版本改成Debug版本** [toc] # linux ## `c_cpp_properties.json`文件 `ctrl+shift+p`弹出搜索框,输入`C++`会显示`C/C++配置UI`,点击后会生成`c_cpp_properties.json`文件 **按需修改`
阅读全文
摘要:/** linux v2.4.18 * list_entry - get the struct for this entry * @ptr: the &struct list_head pointer. * @type: the type of the struct this is embedded
阅读全文
摘要:fork流程图 参考 Linux内核进程创建fork源码解析 关于Linux下fork()函数机制?
阅读全文
摘要:SGI STL 二级空间配置器std::alloc过程 SGI STL的std::alloc、glibc的malloc的区别 内存池:内存池可以通过预先分配一定数量的内存块,形成一个内存块池,当需要分配内存时,直接从内存池中取出一个空闲的内存块,并标记为已使用。当不再需要使用某个内存块时,将其标记为
阅读全文
摘要:为什么destroy(&*first)可以保证在处理迭代器指向的对象时不会发生未定义的行为? destroy(&*first)的作用是对迭代器指向的对象进行析构操作,其中&*first表示获取迭代器指向的对象的地址,即对指针进行取址操作。 在处理迭代器指向的对象时,为了避免出现未定义行为,应该先确保
阅读全文
摘要:Using an abstract class as a value in an unordered_map
阅读全文
摘要:GDB命令 // gdb 命令 $ gdb -p 87746 // 打印所有的线程信息 (gdb) info thread // 切换到第2个线程 (gdb) thread 2 // bt 可以打印函数堆栈,却无法看到函数参数,跟 pstack 命令一样 (gdb) bt // 打印第三帧信息,每次
阅读全文