文章 2023-11-22 来自:开发者社区

C++入门第七篇--STL模板--vector模拟实现

前言:有了前面的string库的介绍,在这里我就不再介绍vector库了,而是直接模拟实现了。vector库的概念和作用:vector库是针对于数组的数据类型的容器,它有点类似我们曾经实现过的顺序表,你完全可以按照顺序表去理解vector,针对顺序表,我们自然少不了增删查改的功能,所以接下来让我们模拟实现一下vector库。模拟实现过程:1.私有成员变量的设置:在这里,我们这样设置我们的私有成员....

C++入门第七篇--STL模板--vector模拟实现
文章 2023-11-22 来自:开发者社区

C++入门第六篇—STL模板---string【下】string模板的实现(下)

12.任意插入字符/字符串:void insert(size_t pos,char c)//任意插单字符 { assert(pos <= _size); if (_size == _capacity) { reserve(_capacity == 0 ? 4 : 2 * _capacity); } int end = _size;//现在的_siz...

C++入门第六篇—STL模板---string【下】string模板的实现(下)
文章 2023-11-22 来自:开发者社区

C++入门第六篇—STL模板---string【下】string模板的实现(上)

前言:在上一篇文章中,我们详细介绍了string模板库的一系列函数,为了进一步加深我们的理解以及我们的代码能力,我们接下来来实现一下我们自己的string模板库,模拟实现的过程中我们要对很多细节进一步的把控理解,包括很多新的概念和方法,不仅仅是要熟练掌握string库,同时也要对C++的知识点的细节运用更加精确。这便是我们模拟实现的目的。string模拟实现:1.第一部分:实现string库的基....

文章 2023-11-22 来自:开发者社区

C++入门第六篇---STL模板---string【上】string模板的介绍(下)

3.empty函数:返回字符串是否为空,是则为true,反之返回false.4.clear函数:清空字符串,它的实现原理其实就是在下标为0的位置放一个\0,由于要迁就C语言的关系,C++也同样识别到\0停止,所以我们下标为0的位置放入\0,就相当于字符串被清空了(但同时也别忘了改变_size=0),不过注意capacity一般是不轻易改变的,但size是实时改变的5.reserve函数:注意re....

C++入门第六篇---STL模板---string【上】string模板的介绍(下)
文章 2023-11-22 来自:开发者社区

C++入门第六篇---STL模板---string【上】string模板的介绍(上)

前言:从这里开始,有了C++类和对象的铺垫,我们能够引入C++最为重要的一个工具–STL模板库,在STL模板库中,我们得以将许多C语言的语法的局限性完全打开,尤其是繁杂的字符串操作和对于自定义类型的处理,那么接下来,就让我们熟练STL模板的使用和模拟实现。模板:关键字:template何为模板?想象一下我们去超市购买的雪糕,从甜筒机里我们可以按照我们想要吃的得到各种口味的相同形状的甜筒雪糕,在这....

C++入门第六篇---STL模板---string【上】string模板的介绍(上)
文章 2023-06-25 来自:开发者社区

c++入门学习日志:初阶 模板

模板就好像一个模子,我们知道古时候会用到各种各样的模子来制作东西,而这种模子就好像是我们的模板一样。模板是模板和它所产生的类或者函数是不一样的,我们产生的类或者函数用的可不是模板  模板分为:函数模板 和 类模板函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型template <class T>//class可以用typen....

文章 2023-02-23 来自:开发者社区

c++入门----模板

一.为什么要定义模板当我们定义一个加法函数的时候,可能存在以下几种情况,int+int,int+float,flaot+float等等情况,这时候就需要我们定义多个操作相同的加法函数,这样显然是非常繁琐也是没有必要的。模板的引入就是为了解决这一问题。该编程方式称为“泛型编程”,它的引入大大简化了程序的代码量,保持了结构的清晰,提高的程序设计的效率。二. 函数模板的定义定义如下:template&a...

文章 2022-12-08 来自:开发者社区

C++从入门到精通(第五篇) :C++模板初阶

C++从入门到精通(第五篇) :C++模板初阶1. 泛型编程如何实现一个通用的交换函数呢?方法一:(函数重载)void Swap(int& left, int& right) { int temp = left; left = right; right = temp; } void Swap(double& left, double& ri...

C++从入门到精通(第五篇) :C++模板初阶

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注