C++
文章平均质量分 95
有关C++知识
夏天的阳光吖
互相关注,共同进步,每一天都进步一点点
展开
-
C++之String类(下)
①在string尾部追加字符时,s.push_back(c)/s.append(1,c)/s += 'c' 三种的实现方式差不多,一般情况下,string类的+=操作用的比较多,+=操作不仅可以连接单个字符,还可以连接字符串。npos是string类中定义的一个静态成员变量,类型为无符号整型,值为-1,因为是无符号转换后变成整型的最大值,也就是4294967295(42亿多) ,当我们不给pos的值,按照缺省值执行,默认从字符串尾部开始寻找。我们要做的,只是将字母反转,其他符号的位置不变。原创 2024-10-01 21:02:31 · 893 阅读 · 3 评论 -
C++之String类(上)
C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP思想(面向对象编程),而且底层空间需要用户自己清理,稍不留神可能还会越界访问。原创 2024-09-30 09:09:50 · 1052 阅读 · 0 评论 -
C++之模板初阶
哈喽,小伙伴们,好久不见~ ,古时候,人们对于文化知识的需求不断增长,手抄书籍的方式已经无法满足这种需求。因此,人们开始探索更高效的复制和传播知识的方法-----印刷术。在写C++程序的时候,我们也会遇到大量且重复的问题,例如:Swap交换函数。如果我们稍微改变一下2个数的类型,那么交换函数又要重新写。为了解决问题更高效,模板就出现了。原创 2024-09-22 17:37:19 · 760 阅读 · 1 评论 -
C/C++内存管理
我们在创建自定义类型对象的时候,需要调用构造函数,销毁时需要调用析构函数。如果我们使用malloc和free的话,是不会调用这2个函数的。使用new来为自定义类型对象申请空间,编译器才会调用构造函数为对象初始化;用delete为自定义类型对象释放空间,才能调用析构函数。class A {public://默认构造:_a(a)//拷贝构造:_a(aa._a)//赋值运算符重载if (this!//析构函数~A() {原创 2024-09-17 13:53:28 · 846 阅读 · 0 评论 -
类和对象(下)
在上一篇中,我们学习了类和对象(中),今天,我们继续深入学习类和对象,准备好了吗?我们开始咯~原创 2024-09-15 00:33:32 · 981 阅读 · 0 评论 -
类和对象(中)
如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显示实现,编译器会生成的成员函数称为默认成员函数。原创 2024-09-07 20:21:42 · 1026 阅读 · 1 评论 -
类与对象(上)
C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。比如:之前在数据结构初阶中,用C语言方式实现的栈,结构体中只能定义变量;现在以C++方式实现,会发现struct中也可以定义函数。原创 2024-08-24 15:41:34 · 675 阅读 · 2 评论 -
初识C++
C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机,20世纪80年代,计算机界提出了OOP(object oriented programming: 面向对象)思想,支持面向对象的程序设计语言应运而生。原创 2024-08-21 23:53:55 · 1143 阅读 · 1 评论