随笔分类 - c++
摘要:\[weight=0 \\ mean = \frac {meam*weight+curVal}{weight+1} \]int weight = 0; Vec3i pixel = {0,0,0}; for(size_t index=0; index < singlePairFish->fishImg
阅读全文
摘要:```c++ #include #include #include #include #include using namespace std; struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(
阅读全文
摘要:[官方库](https://github.com/google/sanitizers) ## 应用场景 编译参数通过 -fsanitize 决定开启 sanitizer: - `-fsanitize=address` 开启AddressSanitizer(ASan),包括LeakSanitizer(
阅读全文
摘要:# coredump ## 修改coredump文件位置 查询文件位置 ```bash cat /proc/sys/kernel/core_pattern # 默认值是core,表示当前目录。否则就是在指定目录下。 ``` 更改 coredump 文件路径的方法分两种:临时更改方式与永久更改方式:
阅读全文
摘要:**只定义`void testFunc(int num, const std::function& functor)`就可以,其他的相当于这个函数的特化版本** ```c++ #include #include using namespace std; int func1(int num) { co
阅读全文
摘要:```bash 假设链表中每一个节点的值都在0-9之间,那么链表整体就可以代表一个非负整数。 给定两个这种链表,请生成代表两个整数之差绝对值结果链表。链表长度最大值为10000,链表任意值0≤val3->7,链表2为9->6->3,最后生成新的结果链表为2-~>6, 不允许使用其它数据结构 ```
阅读全文
摘要:# 项目属性 ### CMAKE_VERSION ```c++ cmake_minimum_required(VERSION 3.2) if(CMAKE_VERSION VERSION_LESS "3") add_definitions(-std=c++14) else() # add_defini
阅读全文
摘要:[912. 排序数组](https://leetcode.cn/problems/sort-an-array/) - 稳定排序:如果 a 原本在 b 前面,且 a == b,排序之后 a 仍然在 b 前面。 - 非稳定排序:如果 a 原本在 b 前面,且 a == b,排序之后 a 不一定在 b 前
阅读全文
摘要:1. member初始化最好在member initialization list中初始化 因为会constructor可能会扩张代码,会产生临时的object对象,然后将它初始化后,以一个assignment运算符将临时对象指定给类member,然后再销毁临时对象 以下情况会导致效率比较低: 初始
阅读全文
摘要:环境配置 sudo apt install libmysqlclient-dev 编译选项 cmake target_link_libraries(main libmysqlclient.so) g++选项 g++ test_mysql.cpp -lmysqlclient -o tets 示例 读取
阅读全文
摘要: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`文件 **按需修改`
阅读全文
摘要: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 // 打印第三帧信息,每次
阅读全文
摘要:出现伪共享原因:多个线程同时读写同一个 Cache Line 的不同变量时,而导致 CPU Cache 失效的现象称为伪共享(False Sharing) 查看系统Cache Line加载数据大小 cat /sys/devices/system/cpu/cpu0/cache/index0/coher
阅读全文
浙公网安备 33010602011771号