随笔分类 -  C++初阶

1
C++初阶
摘要:C++类型转换static_cast 相近类型之间的类型 reinterpret_cast 不相近类型之间的类型 const_cast 去掉对象const属性的转换 dynamic_cast 规范向下转换,转换是安全的 是将一个基类对象指针(或引用)转换到继承类指针,dynamic_cast会根据基类指针是否真正 阅读全文
posted @ 2022-10-02 20:56 lemon-Breeze 阅读(24) 评论(0) 推荐(0)
摘要:智能指针RAII(Resource Acquisition Is Initialization)是一种利用对象生命周期来控制程序资源(如内 存、文件句柄、网络连接、互斥量等等)的简单技术。 在对象构造时获取资源,接着控制对资源的访问使之在对象的生命周期内始终保持有效,最后在 对象析构的时候释放资源。借此,我 阅读全文
posted @ 2022-09-29 22:33 lemon-Breeze 阅读(71) 评论(0) 推荐(0)
摘要:异常---异常安全问题--内存泄漏动图演示异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的 直接或间接的调用者处理这个错误。 throw: 当问题出现时,程序会抛出一个异常。这是通过使用 throw 关键字来完成的。 catch: 在您想要处理问题的地方,通过异常处理程序捕获异常.catch 关键字用于捕 阅读全文
posted @ 2022-09-28 20:51 lemon-Breeze 阅读(109) 评论(0) 推荐(0)
摘要:幸运的袋子 附加动图演示!幸运的袋子_牛客题霸_牛客网 (nowcoder.com) 厄运的袋子 用到了深度遍历 递归回溯法 这里假设一个例子: 1 1 1 2 2 3 4 5 7 8 因为要确认是否辛运,并且保持这次不幸运,那么下一次不可能辛运,所以需要先排序 虽然排序会减少效率,但此次排序正是为了更好的效率,而排序的 假 阅读全文
posted @ 2022-09-28 12:21 lemon-Breeze 阅读(55) 评论(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 阅读(50) 评论(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 阅读(25) 评论(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 阅读(29) 评论(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 阅读(55) 评论(0) 推荐(0)
摘要:list底层实现list底层实现 list和vector都是容器,只不过他们的存储结构不同,vector实际底层结构是顺序表,支持随机访问。list的底层结构带头双向链表,不支持随机访问。 但list的底层实现不同,因为他是链表的缘故,所它的节点和迭代器必须在外在创建类来嵌套 vector的insert和erase 阅读全文
posted @ 2022-09-02 18:02 lemon-Breeze 阅读(205) 评论(0) 推荐(0)
摘要:Vector底层实现Vector底层实现 vector的三个私有成员 :_start 记录初始位置 , _finish 记录有效字符 , _endofstoage 记录容量大小 vector会存储的类型不同,所以要用模版来定类型 typedef T* iterator; iterator _start; iterato 阅读全文
posted @ 2022-09-01 18:49 lemon-Breeze 阅读(429) 评论(0) 推荐(1)
摘要:特殊进制//0xaaaaaaaa = 10101010101010101010101010101010 (偶数位为1,奇数位为0) //0x55555555 = 1010101010101010101010101010101 (偶数位为0,奇数位为1) //0x33333333 = 110011001100 阅读全文
posted @ 2022-08-26 11:49 lemon-Breeze 阅读(83) 评论(0) 推荐(0)
摘要:Linux进度条制作进度条 先了解一下/r 的用法 /r 讲光标回到当前行的最开始 4 int main() 5 { 6 int i=0; 7 for(i=0;i<=10;i++) 8 { 9 printf("%d\r",i); 10 fflush(stdout); 11 sleep(1); 12 } 13 14 re 阅读全文
posted @ 2022-08-11 11:42 lemon-Breeze 阅读(79) 评论(0) 推荐(0)
摘要:gcc/g++与动静库以及gdbgcc/g++ 程序转换为二进制 总共需要经过4个大步骤:1.预处理,2.编译,3.汇编,4.链接。 想要更深刻的了解它,可以通过Linux去深刻的了解他们。 先创建.C文件 并且能够通运行 gcc -E mytest.c -o mytest.e 此命令为 将源文件只进行到预处理阶段,完成后放到目标 阅读全文
posted @ 2022-07-26 15:03 lemon-Breeze 阅读(104) 评论(0) 推荐(0)
摘要:C++多态多态 多态的定义 多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。 简单来说就是完成某个行为,不同的对象会产生不同的结果 多态的构成条件 1. 必须通过基类的指针或者引用调用虚 阅读全文
posted @ 2022-07-24 11:59 lemon-Breeze 阅读(165) 评论(0) 推荐(0)
摘要:C++继承继承 继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保 持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象 程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继 承是类设计 阅读全文
posted @ 2022-07-20 11:05 lemon-Breeze 阅读(87) 评论(0) 推荐(0)
摘要:string常用库函数string常用库函数 string的库函数非常多,若全部掌握是非常耗时间的,但是我们只需要掌握常用,重要的库函数即可,不常用的只需了解下即可,需要时,上C++标准官方库查找。 这里列举出本篇说明的函数 insert、erase、swap、c_str、find、rfind、substr、getlin 阅读全文
posted @ 2022-07-08 14:33 lemon-Breeze 阅读(2102) 评论(0) 推荐(0)
摘要:string的底层实现(更新版)string底层实现解析 阅读全文
posted @ 2022-07-06 12:47 lemon-Breeze 阅读(1570) 评论(0) 推荐(5)
摘要:C++模板C++模板 阅读全文
posted @ 2022-06-04 14:53 lemon-Breeze 阅读(100) 评论(0) 推荐(0)
摘要:C++内存管理C++内存管理 new+delete 阅读全文
posted @ 2022-06-04 12:09 lemon-Breeze 阅读(201) 评论(0) 推荐(0)
摘要:C++类类 C++类的定义 定义一个类,本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行哪些操作 C语言的结构体其实就是C++的类,是结构体的一种升级,但在C++下依旧可以使用结构体,因为C++兼容C 但 阅读全文
posted @ 2022-06-03 16:23 lemon-Breeze 阅读(2730) 评论(0) 推荐(0)

1