20 对象的动态建立与释放 C++程序设计 20 对象的动态建立与释放 与普通变量相同,对象也可以使用 new 运算符进行动态存储分配。 1 为什么需要动态建立对象 动态内存分配,分配的内存空间在 “堆” 中,而静态存储分配的内存在 “栈” 中。 如果我们不使用动态存储分配,我们建立的变量和对象,都会保存在 “栈” 中,而 “栈” 的空间并不
19 析构函数 C++程序设计 19 析构函数 析构函数也是一种特殊的成员函数,它的作用与构造函数相反,是在撤销对象占用的内存空间之前完成一些清理工作,使得这部分内存可以被程序重新分配。 1 语法 与构造函数相似,析构函数也没有函数类型,没有返回值。 与构造函数不同的是,析构函数不可以有参数,而且一个类中只能有一个析构函数,不能重
18 类成员的访问权限以及类的封装 C++程序设计 18 类成员的访问权限以及类的封装 1 要解决的问题 我们来看这样一个例子: #include<iostream> using namespace std; class Student { public: string name; int age; int score;
17 构造函数 C++程序设计 17 构造函数 1 构造函数的作用 在上一节中,我们定义一个对象后,是通过一一赋值的方式,对其中的属性进行初始化的,这很麻烦。 在C++中,有一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户显式调用(用户也不能调用),而是在创建对象时自动执行,用于实现对象初始化。这种特殊的成员函数就是
16 类的声明、对象的定义及使用 C++程序设计 16 类的声明、对象的定义及使用 1 类的声明 类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例(Instance),拥有类的成员变量(属性)和成员函数(方法)。也就是说,需要先声明一个类,才能定义对应的对象。 类的
15 面向对象思想 C++程序设计 15 面向对象思想 1 由 “对象” 引发的误会 女友:听说,你们程序员需要面向对象编程,也没见过你写代码时,面向我呀? 程序员:不是啦,这个面向对象的对象不是你这个对象啦。 女友:什么?你还有其他对象吗? 程序员:(一股寒气袭来) 2 什么是面向对象 面向对象,英文名字叫Object Orient
14 数据类型的别名 C++程序设计 14 数据类型的别名 1 概述 我们学过了使用 “引用” 来作为变量别名的方法。那么,大家有没有想过,不只是 “变量” ,在 C++ 中, “数据类型” 也是可以起别名的呢? 我们为什么需要给数据类型起别名呢? 使类型名写起来更方便。 我们总会遇到一些特别长的数据类型名,如果我们直接用,写起来很麻烦
13 枚举 C++程序设计 13 枚举 1 为什么需要枚举 编程的目的,是使用程序解决现实中的问题。在现实中,我们常常可以遇到一个变量只能取已知的几个值的情况。比如:说到今天星期几,我们只能从已知的七个选择中选。 那么,我们应该用什么数据类型来存储 “星期” 这个变量呢? 使用字符串吗?C++ 风格字符串本就比 C 风格字符串
在局域网上搭建亚秒级(超低延迟)直播平台 默认分类 在局域网上搭建亚秒级(超低延迟)直播平台 本教程介绍了,如何使用开源直播平台 OvenMediaEngine (OME) 在局域网上搭建亚秒级(理论上延迟小于 1 秒)直播平台,并使用 OBS 开播。 OME 官网 和 GitHub OvenMediaEngine(OME)是一个开源的流媒体服务器,
解决 OBS 捕获 HDR 界面时,画面灰暗问题的一种思路 默认分类 解决 OBS 捕获 HDR 界面时,画面灰暗问题的一种思路 灰白问题的根源,在于 HDR 使用的是 10 位颜色格式,而 OBS 默认是使用 8 位颜色的。 解决方法: 文件 -> 设置 -> 高级 -> 视频,设置颜色格式为 P010 或 I010,设置颜色空间为 Rec.2100(PQ) ,颜色