摘要: weak_ptr 详解 #include <iostream> #include <memory> class CB; class CA { public: CA() { std::cout << "CA()" << std::endl; } ~CA() { std::cout << "~CA()" 阅读全文
posted @ 2022-06-03 20:29 苏格拉底的落泪 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 下图显示了指向一个内存位置的几个 shared_ptr 实例: 看上面的例子,使用 std::shared_ptr 时,会涉及两次内存分配:一次分配共享资源对象;一次分配控制块。C++ 标准库提供了 std::make_shared 函数来创建一个 shared_ptr 对象,只需要一次内存分配。 阅读全文
posted @ 2022-06-03 17:00 苏格拉底的落泪 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 695. 岛屿的最大面积 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。 岛屿的面积是岛上值为 1 的单元格的数 阅读全文
posted @ 2022-06-03 10:50 苏格拉底的落泪 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 706. 设计哈希映射 不使用任何内建的哈希表库设计一个哈希映射(HashMap)。 实现 MyHashMap 类: MyHashMap() 用空映射初始化对象void put(int key, int value) 向 HashMap 插入一个键值对 (key, value) 。如果 key 已经 阅读全文
posted @ 2022-06-03 10:00 苏格拉底的落泪 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 705. 设计哈希集合 不使用任何内建的哈希表库设计一个哈希集合(HashSet)。 实现 MyHashSet 类: void add(key) 向哈希集合中插入值 key 。bool contains(key) 返回哈希集合中是否存在这个值 key 。void remove(key) 将给定值 k 阅读全文
posted @ 2022-06-03 09:59 苏格拉底的落泪 阅读(9) 评论(0) 推荐(0) 编辑