![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++ 基础
基础小代码案例
霍迪迪
音视频开发、C++
展开
-
C++ 实现以xml的格式写入文件
该类主要将xml中的标签分为两类,无内容标签统一称为父标签,有内容的就以键值对的方式直接输出。后面可能会优化通过函数参数的方式管控层级关系,现在是通过类里自动记录层级深度来表示的。原创 2024-05-09 16:36:19 · 248 阅读 · 0 评论 -
C++中,exit(0)和return 0的区别和作用
C++中,exit(0)和return 0的区别和作用原创 2024-04-29 13:32:26 · 637 阅读 · 0 评论 -
C++实践中的写法技巧之:枚举变量、数据结构体
一些大型企业自研的一些引擎或者框架都有自己的一套命名规则或者代码标识,而这些信息又需要转化为市面或者页面通用的信息,例如:自研模块中向上返回了一个代码001,而中间链路需要把001转换为业界通用的代码标识xxx,这时候我们就需要自建一个字典来解决该问题。其实就是一个STL中的map类型,只不过我们需要自己实现,以便我们需要在代码里可以直观的看到在这个字典里有哪些键值对。原创 2024-04-07 15:36:03 · 232 阅读 · 0 评论 -
4.6 STL中容器、算法、迭代器
4.6 STL中容器、算法、迭代器容器:置物之所也,STL容器就是将运用最广泛的—些数据结构实现出来常用的教据结构:数组,链表,树,戈,队列,集合,映射表等。这些容器分为序列式容器和关联式容器两种:序列式容器:强调值的排序,序列式容器中的每个元素均有固定的位置。关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序关系4.6.1 Vector:STL最常用的容器,可以理解为数组...原创 2021-11-04 20:25:31 · 583 阅读 · 0 评论 -
4.5 C++ 多态、动态多态、虚函数virtual
4.5.1多态是C++面向对象三大特性之一多态分为两类静态多态:函数重载和运算符重载属于静态多态、复用函数名动态多态:派生类和虚函数实现运行时多态静态多态和动态多态区别:静态多态的函数地址早绑定:编译阶段确定函数地址 动态多态的函数地址晚绑定:运行阶段确定函数地址 动态多态满足的条件:1.有继承关系 2.子类重写父类虚函数 动态多态使用:父类的指针或者引用子类对象...原创 2021-11-01 10:23:29 · 101 阅读 · 0 评论 -
4.4 CPP 继承
4.4.1 语法继承的最大好处就是减少重复性工作,使代码看起来更加简洁、语法:class A pubilc B{ }A类称为子类或者派生类 (特性),B类称为父类或者基类(共性)#include<iostream>#include<algorithm>using namespace std;class MyClass{public: void school() { cout << "清华大学" << endl; } v原创 2021-10-25 21:19:06 · 250 阅读 · 0 评论 -
4.3 初始化操作与静态成员
目录4.3.1初始化列表4.3.2 类对象作为类成员4.3.3 静态成员4.3.3.1静态成员变量4.3.3.2静态成员函数4.3.1初始化列表C++提供了初始化列表语法,用来初始化属性语法:构造函数():属性1(值1),属性2(值2)... {}实例化一个对象的时候给他初始值。#include<iostream>#include<algorithm>using namespace std;class MyClass{publ原创 2021-10-19 20:48:26 · 106 阅读 · 0 评论 -
4.2 c++构造函数(构造函数、析构函数、拷贝构造函数)
一:函数作用对象的初始化和清理是程序中非常重要的安全问题:一个对象或者变量没有初始状态,对其使用后果是未知,同样的使用完一个对象或变量,没有及时清理,也会造成—定的安全问题。C++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。对象的初始化和清理工作是编译嚣强制要我们做的事情,因此如果我们不提供构造和析构,编译器会提供的构造函数和析构函数是空实现。一般我们在写一个类的时候,编译器会帮我们自动生成构造函数和析构函数,但是是空的class MyCl原创 2021-10-14 10:46:00 · 136 阅读 · 0 评论 -
4. 1类与对象
面相对象的三大特征:封装、继承、多态1.封装的意义:1. 将属性和行为作为一个整体,体现事物2.将属性和行为加以权限控制C++中认为万物皆对象,对象有其特有的属性和行为,类中的属性和行为统称为成员,属性(成员属性、成员变量)、行为(成员函数、成员方法)。class student{ //访问权限public: //类的属性 string name; int number; //类的行为 void show() { cout << name <原创 2021-09-26 20:44:22 · 84 阅读 · 0 评论 -
3. C++ 函数的默认参数、占位参数、函数重载
默认参数:函数在定义形参的时候可以有默认值 语法: 返回值类型 函数名 (形参 =默认值){}#include<iostream>using namespace std;void eg1(int a = 0, int b = 0) { cout << "a= " << a << " b = " << b << endl;}int main() { eg1(); // 输出 ...原创 2021-09-25 14:47:30 · 139 阅读 · 0 评论 -
2 .c++ 引用的使用和值传递、地址传递、引用传递的区别
目录1.c++中引用的基础使用和注意事项2.引用做函数参数2.1函数传递的三种方式:值传递、地址传递、引用传递3.引用做函数参数4.常量的引用1.c++中引用的基础使用和注意事项作用:给变量起别名基本语法: 数据类型 &别名 = 原名引用的本质就是一个指针常量注意: 引用一定要初始化 ,初始化过后不可更改,否则相当于给原名进行赋值操作#include<iostream>using namespace std;int main(){.原创 2021-09-16 17:27:45 · 559 阅读 · 0 评论 -
利用new操作符在堆区开辟数据
堆区开辟的数据由程序员手动开辟手动释放#include<iostream>using namespace std;//1.new的基本语法int* func() { //在堆区创建整型数据 // new 返回是该数据类型的指针 int * p = new int(10); return p;}void test() { int* p = func(); cout << *p << endl; // 关键字可delete释放空间 delet原创 2021-09-11 11:44:31 · 594 阅读 · 0 评论