掘根专题

掘根宝典之c++标识符,命名

在探讨命名方案之前,我们来了解一下C++中的标识符啊 标识符 什么是标识符呢? 在C++中,标识符是用于命名变量、函数、类、对象等实体的名称。 标识符的命名必须遵循C++标识符的规则: 标识符只能使用字母字符(a-z,A-Z),数字和下划线( _ )。 也就是说 -a;//不是标识符a.;//不是标识符a1;//是标识符_a;//是标识符 标识符第一个字符不能是数字。 也就

掘根宝典之C++RTTI和类型转换运算符

什么是RTTI RTTI是运行阶段类型识别的简称。 哪些是RTTI? C++有3个支持RTTI的元素。 1.dynamic_cast运算符将使用一个指向基类的指针来生成一个指向派生类的指针,否则该运算符返回0——空指针。 2.typeid运算符返回一个指出对象类型的信息 3.type_info结构存储了特定类型的信息 注意:只能将RTTI用于包含虚函数的类层次结构,原因在于只有对于这

掘根宝典之C++隐式类型转化(整型提升,算术转换)

赋值中的隐式转换 话不多说,我们直接看例子 bool b=42; //b为真int i=b; //i的值为1i=3.14; //i的值为3double pi= i; // pi的值为3.0unsigned char c =-1; // 假设char占8比特,c的值为255

掘根宝典之C++迭代器简介

在C++中,容器是一种用于存储和管理数据的数据结构。C++标准库提供了多种容器,每种容器都有其独特的特点和适用场景。 我们知道啊,我们可以通过下标运算符来对容器内的元素进行访问,但是只有少数几种容器才同时支持下标运算符([ ]),因此我们需要一个更通用的机制来帮我们实现对容器内元素的访问 简介 迭代器是一种用于遍历容器元素的对象。它提供了一种统一的访问方式,使程序员可以对容器中的元素进行逐个

掘根宝典之C语言原码,反码,补码,位操作运算符(~,,|,^,<<,>>,=,|=,^=,>>=,<<=)

目录 二进制数 什么是二进制数 c语言中的二进制数 机器数 原码 正数计算 负数计算 反码 负数计算 跨零计算 补码 定义 跨零计算 总结 按位逻辑运算符(~,&,&=,|,|=,^,^=) 按位取反:~ 按位与:&和&= 按位或:|和|= 按位异或:^ 用法 掩码 打开位(设置位) 关闭位(清空位) 切换位 检查位的值 移位运算符(<<,<

掘根宝典之C语言if,switch,break,continue,逻辑运算符(||,,!),?:运算符

if语句 C语言中的if语句用于执行给定条件下的一部分代码。 if语句的语法如下: if (condition) {// code to be executed if condition is true} 在这里,condition是一个表达式,如果为真,则执行if语句块中的代码。如果条件为假,则跳过if语句块中的代码。 下面是一个使用if语句的示例: #include <st

掘根宝典之c语言一维数组

什么是数组 数组是一种存储固定大小的相同类型元素的数据结构。 数组可以包含任意类型的元素,例如整数、浮点数、字符等。在内存中,数组通常是连续存储的,每个元素按照一定的间隔存储。 通过使用数组,可以有效地存储和访问一系列相同类型的数据。数组可以用于各种场景,例如存储学生的成绩、保存图像像素值等。 在C语言中,数组是一种重要的数据结构,并且具有高效的访问和操作特性。使用数组可以提高代码的可读性

掘根宝典之C语言字符串输入函数(gets(),fgets(),get_s())

字符串输入前的注意事项 如果想把一个字符串读入程序,首先必须预留该字符串的空间,然后用输入函数获取该字符串  这意味着必须要为字符串分配足够的空间。 不要指望计算机在读取字符串时顺便计算它的长度,然后再分配空间(计算机不会这样做,除非你编写一个处理这些任务的函数)。 假设编写了如下代码: char *name;scanf("%s",name); 虽然可能会通过编译(编译器很可能给出警

掘根宝典之C语言字符串输出函数(puts(),fputs())

puts()函数 puts函数是C语言中的一个标准库函数,用于向标准输出流(即控制台)输出字符串。 它的函数原型如下: int puts(const char *str); 函数参数: str:要输出的字符串。 函数返回值: 如果成功输出字符串,则返回非负值;如果输出失败,则返回EOF(-1)。 puts函数会在所输出的字符串末尾自动追加一个换行符('\n'),这与print

掘根宝典之C语言基本数据类型详解2——浮点型常量,存储形式,后缀f/l,float,double,long double,浮点值上下溢

浮点型常量 书写形式 在代码中,可以有多种形式书写浮点型常量。 C语言中的小数可以使用浮点数类型表示,主要有两种形式: 小数形式 这是最常见的表示形式,直接使用小数点后面带有数字的方式表示,例如: float num1 = 3.14;double num2 = 2.71828; 除了像3.14这么写,还有很多形式也是允许的,看下面 .2; //相当于0.2100.;

掘根宝典之C++类模板大全

1 类模板语法 类模板的作用:建立一个通用类,类中的成员数据类型可以不具体制定,用一个虚拟的类型来代表 语法: template<typename T>模板类声明 解释:template声明创建模板 typename表明其后面的符号是一种数据类型,可以用class代替 T是通用的数据类型,名称可以替换,通常为大写字母 示例: #include<iostream>using nam

掘根宝典之C++抽象基类,protected,纯虚函数

关键字protected 关键字protected和private相似,在类外只能用公有类成员来访问protected部分的成员。 #include<iostream>using namespace std;class AA{protected:int a_;public:AA(int a):a_(a){}void A(){cout << a_ << endl;}};int ma

掘根宝典之C++类继承(公有继承)

什么是类继承? 类继承能从已有的类里派生出新的类,而派生类继承了原有类(称为基类)的特征:包括方法。 下面是可以通过继承完成的一些工作: 1.可以在已有类的基础上增添新功能 2.可以给类添加数据 3.可以修改类方法的行为 从一个类派生出另一个类时,原始类称为基类,继承类称为派生类 派生类的声明格式如下 class 派生类:继承方式 基类{类声明;} 继承方式有三种publi

掘根宝典之C++深复制与浅复制(复制构造函数,默认复制构造函数)

到目前为止我们已经学了构造函数,默认构造函数,析构函数:http://t.csdnimg.cn/EOQxx 转换函数,转换构造函数:http://t.csdnimg.cn/kiHo6 友元函数:http://t.csdnimg.cn/To8Tj 接下来我们来学习一个新函数——复制构造函数 复制构造函数 复制构造函数用于将一个对象复制到新创建的对象中。也就是说它用于初始化过程中(包括按值传

掘根宝典之类的自动类型转换和强制类型转换(转换构造函数,转换函数,关键字explicit)

C++如何处理内置类型转换 我们先来复习一下C++是如何处理内置类型转换的。将一个标准类型变量的值赋给另一种标准类型的变量时,如果这两种类型兼容,则C++自动将这个值转换为接受变量的类型。比如像下面这样 long a=8;double b=9;int c=9.0; 这是因为在C++看来,各种数值类型都表示相同的东西——一个数字,同时C++包含用于进行转换的内置规则。 不过C++不自动转

掘根宝典之C++运算符重载

什么是运算符重载 运算符重载是一种形式的C++多态。这很容易让大家想到函数多态,让我们使用同名的函数来完成相同的基本操作,即使是用于不同的类型,不懂函数多态的看这里http://t.csdnimg.cn/ipbqR 运算符重载把重载的概念拓展到运算符上,允许赋予C++运算符多种含义。 实际上C++已经重载了很多运算符了,比如"*“,可以用于乘法,也可以用于解引用 C++根据操作数的数目和类