摘要: [toc] 1. 我尝试使用git上传4GB的文件到gitea上的时候,发现文件会再300MB左右被截断(有文件大小限制) 2. 排查发现是git端的问题,不是gitea的问题 3. 使用git lfs解除上传大小限制 1. 打开git bash 输入命令`git lfs install` 2. 再 阅读全文
posted @ 2023-08-28 17:52 马角的逆袭 阅读(88) 评论(0) 推荐(0) 编辑
摘要: [toc] * 成员函数里用shared_ptr包装this指针,当shared_ptr析构了,就会调用this对象的析构函数,是非常可怕的事情。 ``` class A { void eat() { std::shared_ptr p(this); ptr->status = "吃了"; } } 阅读全文
posted @ 2023-07-17 12:39 马角的逆袭 阅读(76) 评论(0) 推荐(0) 编辑
摘要: resume-template c++面试题 指针 常见关键字 智能指针 Shared_ptr weak_ptr unique_ptr Sencha Gyokuro Matcha Pi Lo Chun 阅读全文
posted @ 2023-06-20 00:35 马角的逆袭 阅读(19) 评论(0) 推荐(0) 编辑
摘要: [toc] * **unsigned int 的减法永远不会小于0** 展开查看:死循环 for (unsigned int i = 5; i >=0; --i) { printf("unsigned int 永远不会小于0"); } 阅读全文
posted @ 2023-06-11 16:58 马角的逆袭 阅读(7) 评论(0) 推荐(0) 编辑
摘要: [toc] # 构造 # 析构 * **父类一定要用virtual的析构函数dtor** * Fa类的~Fa::Fa()没有加virtual,delete就不会调用子类的析构 * Fa* ptr = new Son,如果delete ptr,就执行的是父类的dtor,而不是子类的析构dtor 阅读全文
posted @ 2023-06-11 11:51 马角的逆袭 阅读(4) 评论(0) 推荐(0) 编辑
摘要: [toc] * main.cpp编译后链接libA.so,如果libA.so的开发者重载了全局::operator new(size_t) 展开查看 // A.cpp的重载了全局::operator new(size_t)代码如下 // 使用 g++ -shared -fPIC -o libA.so 阅读全文
posted @ 2023-06-09 17:21 马角的逆袭 阅读(26) 评论(0) 推荐(0) 编辑
摘要: [toc] * 可以用operator new()给对象多分配一点内存,用来做隐藏变量 展开查看 class Object { int i, j; // 对外显示2个变量 operator new() { } }; 阅读全文
posted @ 2023-06-09 10:15 马角的逆袭 阅读(3) 评论(0) 推荐(0) 编辑
摘要: [toc] * **new[]要和delete[]成对出现** * ptr=new Obj[3]会调用3次构造函数ctor,delete [] ptr,会调用3次析构函数dtor * `class Obj { Obj* child_ptr; }` * 如果不写[]只会调用一次dtor,即只有ptr[ 阅读全文
posted @ 2023-06-08 16:49 马角的逆袭 阅读(5) 评论(0) 推荐(0) 编辑
摘要: [toc] * 链接:https://www.youtube.com/watch?v=uQ3wKWGmtk0&list=PLRTJhCIMo8HPlzVfZ8uxs6SGSSAtKXQ6Q * **所有的内存分配最终都会调用malloc** * glibc就是直接用的DL Malloc * 调用层次 阅读全文
posted @ 2023-06-08 15:33 马角的逆袭 阅读(48) 评论(0) 推荐(0) 编辑
摘要: [toc] # CMake * 可以通过`-D`选项设置编译器和cpp版本 1. `cmake -Bbuild -DCMAKE_CXX_COMPILER=/usr/bin/gcc-6` 可以指定使用`gcc-6`编译 2. `cmake -Bbuild -DCMAKE_CXX_STANDARD=14 阅读全文
posted @ 2023-06-07 13:54 马角的逆袭 阅读(49) 评论(0) 推荐(0) 编辑