摘要: 算法 参考Itanium C++ ABI 前置知识 vtable、vptr 可以参考c++中虚析构函数如何实现多态的、内存布局如何? RTTI layout 每个vtable都应包含 当前vptr与源对象vptr的偏移量,其地址为 :vptr - 2个字 每个vtable都应包含 继承类的std:: 阅读全文
posted @ 2022-10-13 17:49 miyanyan 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 假设c++侧读到的数据是一个结构体, 定义如下: struct AirwayData { int uavId; int routeId; std::vector<int> longitude; std::vector<int> latitude; std::vector<float> altitud 阅读全文
posted @ 2022-09-22 15:35 miyanyan 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 导出的坑 1.dynamic module does not define module export function 这是由于导出的包名不一致导致的,需要保证 cmake的project名称 project ("haha" LANGUAGES CXX) # <-- haha find_packa 阅读全文
posted @ 2022-09-01 16:36 miyanyan 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 看似简单的配置流程 安装 : vcpkg install pybind11 编写 cmake find_package(pybind11 REQUIRED) pybind11_add_module(${PROJECT_NAME} src/main.cpp) 问题随之而来 1.[build] LINK 阅读全文
posted @ 2022-09-01 16:18 miyanyan 阅读(825) 评论(0) 推荐(0) 编辑
摘要: 写法 opengl4.5新增了DSA(direct_state_access), 可以不用glBindBuffer()和glBindVertexArray()直接设置好VAO、VBO、IBO, 只需要draw之前bind即可 新旧函数对比(左侧为新函数) glCreateBuffers = glGe 阅读全文
posted @ 2022-08-30 11:08 miyanyan 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 树的直径 树上任意两节点之间最长的简单路径即为树的「直径」 当以某个节点为根时,从这个节点出发,会得到最长路径d1和次长路径d2,则以该节点为根的最长路径为d1 + d2 // 已知树边关系 : vector<vector<int>> graph(n) int maxLen = 0; functio 阅读全文
posted @ 2022-07-12 15:32 miyanyan 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 1. unordered_map 的 operator[] 需要自定义结构体有默认构造函数 比如下面程序会报异常 struct Node { int left, right; // [left, right] int value; int lazy; Node(int l, int r) : lef 阅读全文
posted @ 2022-06-07 15:41 miyanyan 阅读(497) 评论(0) 推荐(0) 编辑
摘要: LeetCode699. 掉落的方块 珂朵莉树 class ChthollyTree { public: struct ChthollyNode { int left, right; mutable int value; // 可以直接在set里更改 ChthollyNode(int l, int 阅读全文
posted @ 2022-05-26 10:38 miyanyan 阅读(27) 评论(0) 推荐(0) 编辑
摘要: LeetCode907 非常经典的一道题,思想也很经典,核心点在于预处理出当前点为最小值时的辐射范围 int n = nums.size(); vector<int> left(n, -1); vector<int> right(n, n); // 维护递增栈 stack<int> stackUp; 阅读全文
posted @ 2022-05-24 21:58 miyanyan 阅读(25) 评论(0) 推荐(0) 编辑
摘要: Qt5.4.10引入了 QString 的hash函数,所以如果qt版本过高会产生编译错误 #if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0)) namespace std { template<> struct hash<QString> { inline s 阅读全文
posted @ 2022-04-27 12:30 miyanyan 阅读(111) 评论(0) 推荐(0) 编辑