随笔分类 -  C++初阶

1
C++初阶
摘要:C++类型转换static_cast 相近类型之间的类型 reinterpret_cast 不相近类型之间的类型 const_cast 去掉对象const属性的转换 dynamic_cast 规范向下转换,转换是安全的 是将一个基类对象指针(或引用)转换到继承类指针,dynamic_cast会根据基类指针是否真正 阅读全文
posted @ 2022-10-02 20:56 lemon-Breeze 阅读(15) 评论(0) 推荐(0) 编辑
摘要:智能指针RAII(Resource Acquisition Is Initialization)是一种利用对象生命周期来控制程序资源(如内 存、文件句柄、网络连接、互斥量等等)的简单技术。 在对象构造时获取资源,接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后在 对象析构的时候释放资源。借此,我 阅读全文
posted @ 2022-09-29 22:33 lemon-Breeze 阅读(44) 评论(0) 推荐(0) 编辑
摘要:异常---异常安全问题--内存泄漏动图演示异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的 直接或间接的调用者处理这个错误。 throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的。 catch: 在您想要处理问题的地方,通过异常处理程序捕获异常.catch 关键字用于捕 阅读全文
posted @ 2022-09-28 20:51 lemon-Breeze 阅读(66) 评论(0) 推荐(0) 编辑
摘要:幸运的袋子 附加动图演示!幸运的袋子_牛客题霸_牛客网 (nowcoder.com) 厄运的袋子 用到了深度遍历 递归回溯法 这里假设一个例子: 1 1 1 2 2 3 4 5 7 8 因为要确认是否辛运,并且保持这次不幸运,那么下一次不可能辛运,所以需要先排序 虽然排序会减少效率,但此次排序正是为了更好的效率,而排序的 假 阅读全文
posted @ 2022-09-28 12:21 lemon-Breeze 阅读(40) 评论(0) 推荐(0) 编辑
摘要:二进制插入二进制插入__牛客网 (nowcoder.com) 题意为 让m插入到n的第j位到第i位 方法1: class BinInsert { public: int binInsert(int n, int m, int j, int i) { // write code here for(int k=0 阅读全文
posted @ 2022-09-27 18:02 lemon-Breeze 阅读(37) 评论(0) 推荐(0) 编辑
摘要:逆波兰表达式运用lambda表达式和包装器 150. 逆波兰表达式求值 - 力扣(LeetCode) class Solution { public: int evalRPN(vector<string>& tokens) { stack<long long> s; map<string,function<lo 阅读全文
posted @ 2022-09-26 20:41 lemon-Breeze 阅读(14) 评论(0) 推荐(0) 编辑
摘要:位图例题1 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在 这40亿个数中。 首先肯定不能用传统的int数据存储 因为内存不够 40亿的整数大概为16G左右 思路1: 因为byte位数据小 1字节就有8个byte 那么40亿byte数据大概只有500mb左右 temp 阅读全文
posted @ 2022-09-15 18:04 lemon-Breeze 阅读(18) 评论(0) 推荐(0) 编辑
摘要:map_set使用说明map_set使用说明 map的底层结构大致是一个哈希表,set的底层结构大致是一个红黑树 不代表全部! set #include"map_set.h" //set的底层结构大致是一个红黑树 不代表全部! void test1() { //set的结构天生有排序+去重 set<int> s; s.i 阅读全文
posted @ 2022-09-03 16:50 lemon-Breeze 阅读(41) 评论(0) 推荐(0) 编辑
摘要:list底层实现list底层实现 list和vector都是容器,只不过他们的存储结构不同,vector实际底层结构是顺序表,支持随机访问。list的底层结构带头双向链表,不支持随机访问。 但list的底层实现不同,因为他是链表的缘故,所它的节点和迭代器必须在外在创建类来嵌套 vector的insert和erase 阅读全文
posted @ 2022-09-02 18:02 lemon-Breeze 阅读(169) 评论(0) 推荐(0) 编辑
摘要:Vector底层实现Vector底层实现 vector的三个私有成员 :_start 记录初始位置 , _finish 记录有效字符 , _endofstoage 记录容量大小 vector会存储的类型不同,所以要用模版来定类型 typedef T* iterator; iterator _start; iterato 阅读全文
posted @ 2022-09-01 18:49 lemon-Breeze 阅读(372) 评论(0) 推荐(1) 编辑
摘要:特殊进制//0xaaaaaaaa = 10101010101010101010101010101010 (偶数位为1,奇数位为0) //0x55555555 = 1010101010101010101010101010101 (偶数位为0,奇数位为1) //0x33333333 = 110011001100 阅读全文
posted @ 2022-08-26 11:49 lemon-Breeze 阅读(50) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示