随笔分类 - c++
摘要:int weight = 0; Vec3i pixel = {0,0,0}; for(size_t index=0; index < singlePairFish->fishImg
阅读全文
摘要:[官方库](https://github.com/google/sanitizers) ## 应用场景 编译参数通过 -fsanitize 决定开启 sanitizer: - `-fsanitize=address` 开启AddressSanitizer(ASan),包括LeakSanitizer(
阅读全文
摘要:# coredump ## 修改coredump文件位置 查询文件位置 ```bash cat /proc/sys/kernel/core_pattern # 默认值是core,表示当前目录。否则就是在指定目录下。 ``` 更改 coredump 文件路径的方法分两种:临时更改方式与永久更改方式:
阅读全文
摘要:# 项目属性 ### CMAKE_VERSION ```c++ cmake_minimum_required(VERSION 3.2) if(CMAKE_VERSION VERSION_LESS "3") add_definitions(-std=c++14) else() # add_defini
阅读全文
摘要: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
阅读全文
摘要:六种默认函数 class Base { public: Base() = default; // 无参构造函数 Base(const Base& obj) = default; // 拷贝构造 Base(Base&& obj) = default; // 移动构造 Base& operator= (
阅读全文
摘要:鱼眼成像模型 等距投影模型 等距投影模型代码 // https://zhuanlan.zhihu.com/p/511284263 // https://github.com/WordZzzz/fisheye_calibration void distortFishEye3dTo2d(Point3d&
阅读全文
摘要:静态类的功能: 一次构造,共享一个内存空间,且在多个其他类调用不用重复构造 头文件 calculateBufferSize.h #ifndef CALCULATE_BUFFER_SIZE #define CALCULATE_BUFFER_SIZE #include <mutex> #include
阅读全文
摘要:共享内存保存读取图片 OpenShare.cpp #include "OpenShare.h" //共享内存1,, C++发 --python 传递位姿与图像存储路径 int key_id = 1111; int shmid; void *pBuffer; //共享内存2, C++发 --pytho
阅读全文
摘要:1.非受限联合体 2.字节对齐 字节对齐原则: 字节对齐的细节和编译器实现相关,但一般而言,满足三个准则: 1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员大小的整数倍,如有需要编译器会在成员之间加上填充字节(in
阅读全文