
C++初阶
文章平均质量分 94
bingo691
只用全力向前,其他交给命运
展开
-
模板的进阶
一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】\1. 模板复用了代码,节省资源,更快的迭代开发,**C++的标准模板库(STL)**因此而产生\2. 增强了代码的灵活性【缺陷】\1. 模板会导致代码膨胀问题,也会导致编译时间变长\2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。原创 2024-06-30 11:57:32 · 762 阅读 · 0 评论 -
STL-stack_queue
stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类,这些容器类应该支持以下操作:empty:判空操作back:获取尾部元素操作。原创 2024-06-24 16:32:08 · 943 阅读 · 0 评论 -
STL--vector
vector是一个可变大小数组的序列容器就如同数组一样,vector也采用的是连续存储空间来存储元素;又不同于数组,他的大小会被容器自动处理,大小会自动改变本质上,vector使用动态分配数组来存储元素,新元素插入时,vector会重新分配一个内存更大的新数组,而将之前内存的元素都转移到这个数组中,释放之前的数组空间vector分配空间策略:vector会分配一些额外的空间以适应可能的增长,因为存储空间比实际需要的存储空间更大。原创 2024-04-12 17:52:45 · 771 阅读 · 0 评论 -
模板的初阶
class 类模板名// 类内成员定义。原创 2024-02-27 19:25:14 · 823 阅读 · 0 评论 -
C/C++内存管理
int _val;{}// 创建的不带哨兵位// 哨兵位int val;printf("请依次输入%d个节点的值:>", n);i < n;int n = 1;int main()// 1、用法上,变简洁了// new 10个int对象// 2、可以控制初始化// new 1个int对象,初始化成10// 3、自定义类型,开空间+构造函数。原创 2024-02-24 11:46:47 · 845 阅读 · 0 评论 -
类和对象(下)
3. 经过2之后,在计算机中就有了一个洗衣机类,但是洗衣机类只是站在计算机的角度对洗衣机对象进行描述的,通过洗衣机类,可以实例化出一个个具体的洗衣机对象,此时计算机才能洗衣机是什么东西。比如上述Time类和Date类,在Time类中声明Date类为其友元类,那么可以在Date类中直接访问Time类的私有成员变量,但想在Time类中访问Date类中私有的成员变量则不行。友元函数可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但需要在类的内部声明,声明时需要加friend关键字。原创 2024-02-19 11:16:31 · 946 阅读 · 0 评论 -
类和对象(中)
目录【本节目标】1.类的6个默认成员函数2.构造函数2.1概念2.2特性3.析构函数3.1概念3.2 特性4.拷贝构造函数4.1概念 4.2特征5.赋值运算符重载5.1运算符重载5.2 赋值运算符重载5.3前置++和后置++重载6.日期类的实现Date.h Date.cpp Test.cpp7.const成员8.取地址及const取地址操作符重载 2.2特性 3.析构函数 3.1概念 3.2 特性 6.日期类的实现原创 2024-02-14 16:11:45 · 1551 阅读 · 1 评论 -
类和对象(上篇)
/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。2. 类声明放在.h文件中,成员函数定义放在.cpp文件中注意:成员函数名前需要加类名一般情况下,更期望采用第二种方式。原创 2024-01-29 22:12:04 · 908 阅读 · 1 评论 -
c++入门
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。// bit是命名空间的名字,一般开发中是用项目名字做命名空间名。// 我们上课用的是bit,大家下去以后自己练习用自己名字缩写即可,如张三:zs// 1. 正常的命名空间定义// 命名空间中可以定义变量/函数/类型int val;//2. 命名空间可以嵌套int a;int b;int c;int d;原创 2024-01-26 20:45:00 · 851 阅读 · 5 评论