使用广泛的计算机程序设计语言。通用程序设计语言,支持多重编程模式
多态(Polymorphism)是面向对象编程(OOP)中的一个重要概念,指的是同一个接口或方法在不同情况下表现出不同的行为。多态性允许不同的类对同一消息做出不...
继承(inheritance)机制是⾯向对象程序设计使代码可以复⽤的最重要的⼿段,它允许我们在保持原有类特性的基础上进⾏扩展,增加⽅法(成员函数)和属性(成员变...
在前面我们学习了模板的基础用法【c++】 模板初阶-CSDN博客初步认识了函数模板和类模板,接下来让我们看看模板还有哪些进阶的应用。
前面我们学习了c++管理字符串的string类,较c语言管理字符串方便了不少。但是在处理其他数据(非字符串)时显得力不从心。这时,c++为我们提供了一个强大的容...
之前我们实现构造函数时,初始化成员变量都是在函数体内赋值,构造函数中初始化变量还有一种方法———初始化列表。初始化列表以冒号开始将要初始化的变量用逗号隔开。
在C++中,如果你定义了一个类但没有显式地提供特定的成员函数(比如构造函数、析构函数、拷贝构造函数、拷贝赋值运算符等),编译器会为这些函数生成默认的实现。这些默...
class为定义类的关键字,Date为类的名字,{}内的是类的内容简称为成员:类中的变量称为成员变量(属性),类中的函数称为成员函数(方法)。类末尾的分号不能省...
在c语言中函数被包含在不同的头文件中,但是,这样会出现一个问题,当我们定义的变量与头文件中的变量重名时,在调用时就会出现问题。
AVL树是最先被发明出来的自平衡二叉查找树,在1962由前苏联科学家G. M. Adelson-Velsky和E. M. Landis在论文中发表。AVL树中引...
string依然是一个线性的结构,所以说在实现的时候和以前实现的线性结构差不了多少,总体还是我们的老三样——_str,_size和_capacity。
由于c++的历史包袱,c++要兼容c语言,c++的字符串要兼容c语言,在 C++ 中,字符串通常使用两种主要的方式来表示:
写一个交换函数,在学习模板之前,为了匹配不同的参数类型,我们可以利用函数重载来实现。
capacity的代码在vs和g++下分别运行会发现,vs下capacity是按1.5倍增长的,g++是按2
list的结构是个带头双向循环链表,每个数据是存储在一个单独的节点内,这个节点除了存储数据还有两个指针分别指向前一个和后一个节点
解题思路 由于数组是非严格递增的,重复的元素必然是相邻的。我们可以用两个指针:
涉及的类型与转换逻辑 代码中传入 push_back 的是字符串字面量(如 “1111…”),其类型是 const char*;而 yunze::vect...
想要模拟实现vector就要了解vector的底层,而想要了解vector的底层就要了解STL中vector的源码。一般看源码看两个版本,一个是SGI版本(Li...
C++的交换也不用自己写,直接用库里面实现的函数模板就好,任何类型都可以交换
先看图中vector的模板声明: class T:这是元素类型的参数。我们可以传入任意类型(如int、double、自定义类Person等),vector...
s2后给的字符串不是存到string对象本身的空间上面的,而是存在该对象指向的堆空间上,所以这里s1对象和s2对象的大小是没有任何区别的。根据其成员变量,理...