摘要: 动态规划-背包01问题推理与实践 背包01问题描述: 有storage大小的背包和weights.size()数量的物品,每个物品i对应的物品大小为sizes[i],价值为values[i],在不超过storage大小的情况下,如何装载物品使背包中的values和最大. 物品大小: vector<i 阅读全文
posted @ 2024-11-10 15:22 Neko_Code 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 转载 C++ 面试突破 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 Kind BorglQI的评论 阅读全文
posted @ 2024-09-18 09:57 Neko_Code 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 结果: 阅读全文
posted @ 2024-09-14 15:41 Neko_Code 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 确保类复制了所有应该复制的成员 结果: 源代码: #include <iostream> #include <string> #include <vector> /** * copy操作应该包含对象内的所有成员变量及所有父类的成员变量, * 此种可以通过调用对应的拷贝构造与拷贝赋值操作完成 */ / 阅读全文
posted @ 2024-09-09 09:42 Neko_Code 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 虚表与虚指针的理解 结果: 阅读全文
posted @ 2024-09-08 12:19 Neko_Code 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 递归锁解决标准锁的典型应用 先看源码: 结果(在A种尝试锁住mutex_时失败,进程等待,死锁无法退出: 将std::mutex 用 std::recursive_mutex替换: 结果: 解析: std::recursive_mutex允许同一个线程对同一个锁对象进行多次上锁,获得多层所有权. 阅读全文
posted @ 2024-09-07 14:26 Neko_Code 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 虚继承 在菱形继承中,若 Student 和 Teacher 继承于 Person, TS 继承于 Student 和 Teacher,则构造 TS 时会调用两次 Person 的 Construct 和 Destruct 函数,若为虚继承,则不会出现上述问题(此类问题主要解决继承带来的多次非法de 阅读全文
posted @ 2024-09-06 15:38 Neko_Code 阅读(4) 评论(0) 推荐(0) 编辑
摘要: <Effective C++>:"如果一个新对象被定义,一定会有个构造函数被调用,不可能调用赋值操作.如果没有新对象被定义,就不会有构造函数被调用,那么当然是赋值操作被调用." 结果: 阅读全文
posted @ 2024-09-06 14:47 Neko_Code 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 前提知识: 一.动态(共享)链接库 用于解决静态链接库缺陷的一个现代新型产物. 其是一个目标模块,在运行和加载时,可以加载到任意的内存地址,并和一个在内存中的程序链接起来. 备注1:解决静态链接库的问题是:所有静态链接库链接的执行程序或多或少包含了该链接库的某一部分,不同执行程序的相同代码程序占用了 阅读全文
posted @ 2024-06-30 15:04 Neko_Code 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 引言: C语言中,字符型(char)数据类型存储字符(character),其保证了单个char所占用的资源空间的大小为该存储系统所能使用的基本字符集的最小大小;C语言定义一个字节(byte)的位数为char的位数: $$ Char:1~byte \ 1~byte =8~bit $$ 字符型变量其实 阅读全文
posted @ 2024-04-04 10:22 Neko_Code 阅读(27) 评论(0) 推荐(0) 编辑