C++
文章平均质量分 91
C++
木子.李347
这个作者很懒,什么都没留下…
展开
-
基础知识---C++
命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。#include< iostream>是标准的C++头⽂件,任何符合标准的环境都有这个头⽂件。技巧:看const右侧紧跟着的是指针还是常量, 是指针就是常量指针,是常量就是指针常量。提示:在给变量或者常量起名称时候,不要用C++的关键字,否则会产生歧义。建议:给标识符命名时,争取做到见名知意的效果,方便自己和他人的阅读。总结2:创建结构体变量时,原创 2024-01-09 21:38:43 · 1351 阅读 · 0 评论 -
内存分区模型---C++
可以看出:全局区包含:全局变量、静态变量、常量(字符串常量、const修饰的全局变量(全局常量)); 注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放。的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可; 全局区还包含了常量区, 字符串常量和其他常量也存放在此.不在全局区:局部变量、const修饰的局部变量(局部常量)。的,使其只读的原因是防止程序意外地修改了它的指令。 利用new创建的数据,会返回该数据对应的类型的。 堆区开辟的数据,由。操作符在堆区开辟数据。原创 2024-01-10 17:21:32 · 995 阅读 · 1 评论 -
多态应用实例
如果想扩展新的功能,不需要修改源码,遵循开发中开闭原则,只需在补充所需对象,直接调用即可。电脑主要组成部件为 CPU(用于计算),显卡(用于显示),内存条(用于存储);利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶。制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料。创建电脑类提供让电脑工作的函数,并且调用每个零件工作的接口;总结:C++开发提倡利用多态设计程序架构,因为多态优点很多。开闭原则:对扩展进行开放,对修改进行关闭。,例如Intel厂商和Lenovo厂商…原创 2024-01-24 17:49:58 · 412 阅读 · 0 评论 -
STL函数对象---C++
可见,sort函数默认为升序是因为调用了关系仿函数less,而想要改变排序顺序也可调用内置仿函数.总结:关系仿函数中最常用的就是greater<>大于。无论一元还是二元运算模板列表只能给一个类型.同认容器部分中vector容器降序的形式。myPrint调用次数为: 5。函数对象(仿函数)是一个。原创 2024-03-03 16:57:36 · 1189 阅读 · 0 评论 -
STL常见容器(deque容器)---C++
deque容器和vector容器的构造方式几乎一致,原创 2024-02-26 19:01:41 · 974 阅读 · 0 评论 -
STL常用容器(vector容器)---C++
功能:vector与普通数组区别:动态扩展:功能描述:函数原型:示例:函数原型:示例:功能描述:函数原型:示例:可见,容量开辟的会比实际所需大小大一点。总结:函数原型:示例:总结:函数原型:示例:总结:功能描述:函数原型:示例:vector(v).swap(v);其中vector(v)表示创建一个匿名对象,其大小和容量按照v的实际大小进行初始化(即为什么交换后v的大小和容量都为3)。总结:swap可以使两个容器互换,可以达到实用的收缩内存效果功能描述:函数原型:示例:可见,对于大原创 2024-02-25 18:18:46 · 808 阅读 · 0 评论 -
STL常见容器(set/multiset)---C++
/仿函数public:////按照年龄进行排序 升序//指定排序规则//内为数类型,不可放置函数名//改变排序顺序需要在插入数据之前改变//插入自定义数据:只需类型+参数s2.insert(Person ("刘备", 23));s2.insert(Person ("关羽", 27));s2.insert(Person ("张飞", 25));s2.insert(Person ("赵云", 21));it!= s2.end();原创 2024-02-29 17:25:07 · 792 阅读 · 0 评论 -
引用和函数提高---C++
函数名可以相同,提高复用性;同一个作用域下;函数名称相同;函数参数类型不同或者个数不同或者顺序不同。函数的返回值不可以作为函数重载的条件。//函数重载需要函数都在同一个作用域下cout << "func 的调用!" << endl;cout << "func (int a) 的调用!" << endl;cout << "func (double a)的调用!" << endl;cout << "func (int a ,double b) 的调用!" << endl;原创 2024-01-10 18:12:36 · 860 阅读 · 1 评论 -
模板(类模板)---C++
对于普通类成员函数,当创建对象时就可以调用成员函数;对于类模板,利用其创建对象后,如果其成员函数是一开始就创建,则创建对象后就可调用,但对于func2()函数却不可调用,只有在创建相应对象后才可以调用相应成员函数.写到同一个文件中,并更改后缀名为.hpp,hpp是约定的名称,并不是强制。总结:建议全局函数做类内实现,用法简单,而且编译器可以直接识别。T —通用的数据类型,名称可以替换,通常为大写字母。类模板中成员函数类外实现时,需要加上模板参数列表。注意与普通类成员函数的类外实现对比记忆.原创 2024-02-22 20:56:25 · 1015 阅读 · 0 评论 -
STL初始---C++
/创建一个vector容器---int数组//向容器中插入数据Person p1("唐僧", 30);Person p2("孙悟空", 99999);Person p3("猪八戒", 9999);Person p4("沙和尚", 999);Person p5("白龙马", 99);//通过迭代器访问容器中的数据---以for循环为例it!= v.end();it++)//*it表示的是< >中的类型元素。原创 2024-02-24 11:57:15 · 726 阅读 · 0 评论 -
STL常用算法---C++
概述算法主要是由头文件<numeric>组成。是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等;<numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数;定义了一些模板类,用以声明函数对象。原创 2024-03-09 10:59:12 · 954 阅读 · 0 评论 -
STL常见容器(stack、queue容器)---C++
注意:栈顶和栈底位置。可对照如图弹夹理解记忆(先入弹夹的子弹被后发射出来,后入弹夹的子弹先发射出来,只有顶端的子弹出来后,前面的子弹才可发射出来,即只有一个出口)(First In First Out,FIFO)的数据结构,它。(First In Last Out,FILO)的数据结构,它。栈中进入数据称为 —栈中弹出数据称为 —队列中进数据称为 —队列中出数据称为 —原创 2024-02-27 20:10:18 · 769 阅读 · 0 评论 -
文件操作---C++
程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放;而通过C++中对文件操作需要包含头文件。原创 2024-01-25 17:33:39 · 1272 阅读 · 0 评论 -
STL常用容器(string容器)---C++
对于用“ ”括住的本质是属于const char*类型的,但将其赋值给string类型时,其就变成了string类型。例如:查找find,拷贝copy,删除delete 替换replace,插入insert;string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责。总结:string字符串中单个字符存取有两种方式,利用 [ ] 或 at。**总结:**插入和删除的起始下标都是从0开始。按字符的ASCII码。原创 2024-02-25 17:25:48 · 790 阅读 · 0 评论 -
类和对象(封装和对象特性)---C++
* 将**属性和行为**作为一个整体,表现生活中的事物;* 将属性和行为加以**权限控制**。构造函数与析构函数。原创 2024-01-12 15:35:48 · 999 阅读 · 1 评论 -
STL常见容器(list容器)---C++
将Person自定义数据类型进行排序,Person中属性有姓名、年龄、身高、体重;排序规则:按照年龄进行升序,如果年龄相同按照身高进行降序,如果身高相同按照体重升序。public:public://姓名int m_Age;//年龄//身高//体重//仿函数或回调函数elseelseit!= L.end();it++) {cout原创 2024-02-28 17:37:20 · 871 阅读 · 0 评论 -
STL常见容器(map/multimap容器)---C++
/仿函数public://按照年龄进行排序 降序//指定排序规则//改变排序顺序需要在插入数据之前改变//插入自定义数据Person p1("刘备", 23);Person p2("关羽", 27);Person p3("张飞", 25);Person p4("赵云", 21);it!= m.end();it++) {原创 2024-03-02 11:13:18 · 898 阅读 · 0 评论 -
类和对象(友元、运算符重载、继承、多态)---C++
赋予其另一种功能,以适应不同的数据类型。原创 2024-01-24 16:25:27 · 1105 阅读 · 1 评论 -
模板(函数模板)---C++
它代表一个未知的具体类型,这个类型在编译时被指定,而不是在运行时。泛型类型不是具体的类型,而是类型的模板,类似于对象模板的概念。泛型编程的核心在于使用参数化类型,即类型参数,来定义可以操作多种不同数据类型的通用数据结构和算法。如果模板的数据类型传入的是像Person类这样的自定义数据类型,无法正常运行;**注意:**对于具体化的模板,要先有普通函数模板才可实现,否则报错。建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个。T — 通用的数据类型,名称可以替换,通常为大写字母。原创 2024-02-19 21:37:04 · 1129 阅读 · 0 评论