c++
文章平均质量分 92
creative_mind
这个作者很懒,什么都没留下…
展开
-
震惊,搜索二叉树告诉我们不要生二胎?本篇(带图)让你轻松拿下
set的底层实现通常依赖于哈希表(Hash Table)或平衡二叉搜索树(如红黑树)。以下是两种常见的实现方式有序性:对于树中的每个节点,其左子树上的所有节点的值都小于该节点的值,其右子树上的所有节点的值都大于该节点的值。唯一性:树中没有重复的节点。原创 2024-07-20 15:46:22 · 372 阅读 · 0 评论 -
接上一回C++:补继承漏洞+多态原理(带图详解)
菱形继承:菱形继承是多继承的一种特殊情况。菱形继承有数据冗余和二义性的问题如下图:西红柿,里面就有二个植物的属性,这与我们常识不符。原创 2024-07-11 20:21:07 · 793 阅读 · 1 评论 -
vector的自实现(迭代器失效问题)与继承续讲
删除pos位置元素后,pos位置之后的元素会往前搬移,没有导致底层空间的改变,理论上讲迭代 器不应该会失效,但是:如果pos刚好是最后一个元素,删完之后pos刚好是end的位置,而end位置是 没有元素的,那么pos就失效了。比如:resize、reserve、insert、assign、 push_back等,也就是说vector底层原理旧空间被释放掉, 而在打印时,it还使用的是释放之间的旧空间,在对it迭代器操作时,实际操作的是一块已经被释放的 空间,而引起代码运行时崩溃。// 指向有效数据的尾。原创 2024-06-27 18:14:12 · 788 阅读 · 0 评论 -
名侦探李先生第一话:谁是真正的凶手(只出现一次的数字相关题解(力扣)+位操作符回忆)
逗号表达式:从左向右依次执行,整个表达式是最后一个表达式的结果!说明a的二进制最低位是1;说明a的二进制最低位是0;按位或|:只要友谊就位1,全为0才为0;按位与&:有0就为0,全1才为1;按位异或^:相同为0,不相同为1;左移:逻辑右移和算数右移。按位取反~:1为0,0为1;正整数原,反,补码都相同。原码也可以用补码+1表示。原创 2024-06-24 23:02:43 · 937 阅读 · 1 评论 -
deque的知识+每日一题:栈的压入,弹出序列+
栈是一个“后进先出”或“先进后出”的顺序存储结构。入栈的顺序规律是排在前面的先进,排在后面的后进。出栈的顺序规律是排在前面的先出,排在后面的后出。原创 2024-06-20 22:33:27 · 717 阅读 · 0 评论 -
c++模板,特化,仿函数,继承(复习专用)
c++模板,特化,仿函数,继承(复习专用)原创 2024-06-17 17:02:57 · 601 阅读 · 2 评论 -
那些年我与c++的叫板(一)--string类自实现
/注意char * strcpy ( char * destination, const char * source );//为深拷贝,因为如果浅拷贝的话,共用一块空间,那结果可想而知。//只析构_str上的资源。//注意pos=0时,对应的值为size_t类型,要int转。if (this!= &s)//排除等于自身的情况。// len大于前面字符个数时,有多少删多少。// len大于后面剩余字符,有多少取多少。//本string简单实现,代码量小,故直接写在声明中。//拷贝构造,可以隐式类型赋值。原创 2024-05-15 22:50:44 · 788 阅读 · 1 评论 -
那些年我与c++的交友日记(初识三):string类的(详细)常用函数与补充三种string遍历方式
(只可意会不可言传啊,苦笑)原创 2024-05-04 00:18:35 · 640 阅读 · 4 评论 -
那些年,我与c++的交友日记(初识二):(保姆级教学)三大重要默认函数与栈的实例(c++的受益者)
注意:一个类只有一个构造函数与析构函数,任何说有二个构造函数或二个析构函数都是错的!我总结以下几个原则!1,构造顺序是按照语句的顺序进行构造,析构是按照构造的相反顺序进行析构!2,对象析构要在生存作用域结束的时候才进行析构!3:类的析构函数调用一般按照构造函数调用的相反顺序进行调用,但是要注意static对象的存在, 因为static改变了对象的生存作用域,需要等待程序结束时才会析构释放对象!4,全局对象先于局部对象进行构造,局部对象按照出现的顺序进行构造,无论是否为static!原创 2024-04-11 23:33:11 · 800 阅读 · 4 评论 -
c++支持重载函数而c不支持,在翻译环境中的解释
包括:1,处理以# 开头的指令 , 比如拷贝 #include 包含的文件代码,#define 宏定义的替换 , 条件编译等,就是为编译做的预备工作的阶段。是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这 些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型 不同的问题。1,预定符号,_ _FIEL_ _路径,_ _DATE_ _日期,_ _TIME_ _时间 _ _LINE_ _行号。如上,就是重载了,在c中是不支持的,在c++支持!原创 2024-04-01 18:14:07 · 934 阅读 · 2 评论