
C/C++
文章平均质量分 51
秀秀_heo
一个学习前端开发的大学生,博客为自己的学习笔记,仅供个人学习使用。
展开
-
【C++】零碎知识点汇总_1
cin.get();(*n)++ 不同于 *n++ : 一个是指针n代表的值++,另一个是将指针指向下一个位置,然后再对递增后的指针进行解引用操作,获取解引用后的值;跟使用 #define定义宏常量相比,const定义的常量有详细的数据类型,而且会在编译阶段进行安全检查,在运行时才完成替换,所以会更加安全和方便。在联合(union)中,所有成员共享同一块内存空间,每次只能存储其中的一个成员。由于指针的值(字符 ‘a’ 的内存地址)通常大于 0,所以比较表达式 “abc” > 0 的结果为真(1)。原创 2024-01-11 09:53:09 · 968 阅读 · 0 评论 -
【C++】零碎知识点
如果一个类继承了一个抽象类,并且没有实现抽象类中的所有纯虚函数,那么这个子类也会变成一个抽象类。类对象不能直接访问类的私有成员,不能在类外访问类的私有成员。只有基类的成员函数能访问私有成员,不能被派生类的成员函数访问。在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是作为成员函数的重载的 1 元运算符。如果在类声明时没有给出成员访问限定符,则默认的成员访问属性是私有的。类的指针成员的初始化是通过函数完成的,这个函数通常是构造函数。一个抽象类的派生类可以实例化的必要条件是实现了所有的纯虚函数。原创 2023-12-25 21:22:26 · 587 阅读 · 0 评论 -
【C++】继承和运算符重载练习题
【代码】【C++】继承和运算符重载练习题。原创 2023-12-25 15:23:33 · 488 阅读 · 0 评论 -
【C++】运算符重载
左移运算符只能利用全局函数重载。利用深拷贝解决浅拷贝的问题。原创 2023-12-04 15:24:03 · 180 阅读 · 0 评论 -
【数据结构/C++】树和二叉树_二叉链表
【代码】【数据结构/C++】树和二叉树_二叉链表。原创 2023-12-03 17:03:25 · 91 阅读 · 0 评论 -
【C++】友元
友元的目的就是让一个函数或者类 访问另一个类中私有成员。原创 2023-11-27 21:07:55 · 155 阅读 · 0 评论 -
【C++】静态成员
静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员。原创 2023-11-27 21:07:24 · 485 阅读 · 0 评论 -
【数据结构/C++】栈和队列_链队列
【代码】【数据结构/C++】栈和队列_链队列。原创 2023-11-23 19:52:07 · 317 阅读 · 0 评论 -
【数据结构/C++】栈和队列_循环队列
牺牲一个存储单元来判断队满。当然,还可以加一个变量比如。原创 2023-11-23 19:51:37 · 340 阅读 · 0 评论 -
【数据结构/C++】栈和队列_链栈
【代码】【数据结构/C++】栈和队列_链栈。原创 2023-11-23 19:51:05 · 337 阅读 · 0 评论 -
【数据结构/C++】栈和队列_顺序栈
【代码】【数据结构/C++】栈和队列_顺序栈。原创 2023-11-23 19:50:34 · 353 阅读 · 0 评论 -
【数据结构/C++】线性表_双链表基本操作
【代码】【数据结构/C++】线性表_双链表基本操作。原创 2023-11-23 19:49:36 · 268 阅读 · 0 评论 -
【数据结构/C++】线性表_单链表的基本操作
【代码】【数据结构/C++】线性表_单链表的基本操作。原创 2023-11-23 19:49:05 · 263 阅读 · 0 评论 -
【数据结构/C++】线性表_顺序表的基本操作
【代码】【数据结构/C++】线性表_顺序表的基本操作。原创 2023-11-23 19:48:33 · 386 阅读 · 0 评论 -
【C++】初始化列表
除了直接初始化成员变量外,初始化列表还可以用于调用基类的构造函数和初始化类的常量成员变量。但是,使用初始化列表可以更高效地初始化类成员变量,尤其对于成员变量是常量或引用类型时尤为重要。C++中的初始化列表是一种用于初始化类成员变量的特殊语法。它可以在类的构造函数中使用,用于在构造函数体之前初始化类成员变量。,而不是在构造函数体内进行赋值操作。这样做可以提高效率并避免不必要的步骤。在上述示例中,构造函数使用初始化列表来初始化成员变量。在上述示例中,初始化列表用于调用基类。的构造函数,并初始化常量成员变量。原创 2023-11-22 10:46:51 · 534 阅读 · 0 评论 -
【C++】封装、继承、多态(基础题)
4 设计一个基类 Base 为抽象类,其中包含 settitle 和 showtitle 两个成员函数,另有一个纯虚函数IsGood,由该类派生图书类Book和杂志类Journal,分别实现纯虚函数IsGood.对于前者,如果每月图书销售量超过500,则返回true;1 声明一个长方体类Box,该类有长(length)、宽(width)、高(length)三个数据成员,类中有获取及修改长、宽、高的函数,还有计算长方体表面积和体积的函数。第二层派生出衬衣类、外衣类、帽子类、鞋子类;空调类、电视类、音响类;原创 2023-11-22 10:46:11 · 385 阅读 · 0 评论 -
【C++】多态
多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码。解决方式:将父类中的析构函数改为。在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容。因此可以将虚函数改为。如果使用纯虚析构:(也需要加上具体实现)(纯虚函数只需声明就可以)说明没有释放内存,导致内存泄露。有了纯虚析构之后,这个类也属于抽象类,无法实例化对象。函数返回值类型 函数名 参数列表 完全一致称为重写。解决方法:将父类的析构改为虚析构。当类中有了纯虚函数,这个类也称为。原创 2023-11-22 10:45:35 · 453 阅读 · 0 评论 -
【C++】继承
菱形继承概念:两个派生类继承同一个基类,又有某个类同时继承者两个派生类,这种继承被称为菱形继承,或者钻石继承。A 类称为子类 或 派生类。B 类称为父类 或 基类。原创 2023-11-22 10:45:03 · 618 阅读 · 0 评论 -
【C++】封装
【代码】【C++】封装。原创 2023-11-22 10:44:23 · 185 阅读 · 0 评论 -
【C/C++】malloc 或者 new 动态分配内存
这是非常重要的,因为动态分配的内存不会在作用域结束时自动释放,必须显式地调用。需要注意的是,malloc 分配的内存是未初始化的,它的值是不确定的。通过 malloc 函数,我们可以在程序运行时请求一定大小的内存块,然后将该内存块用于存储数据。此外,如果需要重新分配已经分配的内存块的大小,可以使用。用于获取一个整数类型的字节数,以确保分配的内存块足够容纳一个整数。运算符返回的是一个与所分配类型相匹配的指针,无需进行类型转换。是成对使用的,分配和释放的方式必须匹配。类型的指针,指向分配的内存块的起始地址。原创 2023-11-12 22:19:53 · 422 阅读 · 0 评论 -
【C++】引用
【代码】【C++】引用。原创 2023-11-03 00:15:49 · 187 阅读 · 0 评论 -
【C++】内存分区模型
注意事项:不要返回局部变量的地址,栈区开辟的数据在函数执行完后由编译器自动释放。的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可。 全局区还包含了常量区, 字符串常量和其他常量也存放在全局区。 由程序员分配释放,若程序员不释放,程序结束时由操作系统回收。 由编译器自动分配释放, 存放函数的参数值,局部变量等。的,使其只读的原因是防止程序意外地修改了它的指令。 在C++中主要利用new在堆区开辟内存。 全局变量和静态变量存放在全局区。原创 2023-11-02 23:59:41 · 139 阅读 · 0 评论 -
【C++】类的继承
在C++中,类的继承是一种重要的面向对象编程概念,它允许创建一个新类(称为派生类或子类),该类继承了另一个已存在的类(称为基类或父类)的属性和方法。通过继承,派生类可以重用基类的代码,并添加自己的特定功能。菱形继承问题:当一个派生类从两个不同的基类继承,并且这两个基类又继承自同一个基类时,就会出现菱形继承问题。虚继承:当一个派生类从多个基类继承,并且这些基类之间存在继承关系时,可以使用虚继承来避免多次复制相同的基类子对象。在C++中,可以使用多继承来创建一个派生类,它同时从多个基类中继承。原创 2023-10-23 16:32:06 · 672 阅读 · 0 评论 -
【C++】类
假设我们正在设计一个简单的图形类来表示矩形。在上述代码中,我们定义了一个名为。原创 2023-10-23 09:13:45 · 116 阅读 · 0 评论 -
【C++】unordered_set 容器
是 C++ 标准库中的一个容器,用于存储不重复的元素集合。它是哈希表的一种实现,因此能够提供快速的插入、查找和删除操作,平均时间复杂度为 O(1)。在很多情况下是一个非常有用的容器,特别是在需要高效查找不重复元素的场景下。在前面的例子中,我在算法中使用。来记录包含 0 的行和列的索引,以便进行后续的清零操作。中只会存在一次,重复的元素会被自动过滤。你可以用列表初始化语法来初始化。使用范围循环或迭代器来遍历。之前,你需要包含头文件。原创 2023-08-30 10:34:57 · 435 阅读 · 0 评论 -
【C++】求三个数的最小公倍数
C++求三个数的最小公倍数原创 2023-06-15 23:07:25 · 2683 阅读 · 0 评论 -
【C++】a=b=2;这样的赋值语句不正确
C++中a=b=2;这样的赋值语句不正确原创 2023-06-15 20:15:08 · 1012 阅读 · 0 评论 -
【C++】`6==6==6`该表达式的值为0的解释
【C++】`6==6==6`该表达式的值为0的解释原创 2023-06-13 23:20:27 · 452 阅读 · 0 评论 -
【C++】隐式转换
C++隐式转换原创 2023-06-13 23:14:19 · 1174 阅读 · 0 评论 -
【C++】函数重载
C++函数重载原创 2023-06-11 17:36:41 · 90 阅读 · 0 评论 -
【C++】C++ 中常见的运算符优先级排序
C++中常见运算符优先级排序原创 2023-06-11 16:14:28 · 3223 阅读 · 0 评论 -
【C++算法】冒泡排序
C++冒泡排序原创 2023-06-08 09:07:44 · 246 阅读 · 0 评论 -
【C++基础题】已知一个人的出生年月日,求他(她)到18岁生日所经过的总天数。注意:输入格式为YYYY MM DD,如1988 3 7,如果这个人没有18岁生日,输出-1
C++基础题原创 2023-06-07 20:18:25 · 492 阅读 · 0 评论 -
【C++算法】求一个数是否是素数
C++求一个数是否是素数原创 2023-06-07 17:22:50 · 901 阅读 · 1 评论 -
【C++】共用体
C++共用体原创 2023-06-02 20:57:01 · 569 阅读 · 0 评论 -
【C++】链表
C++链表原创 2023-06-02 20:55:39 · 892 阅读 · 0 评论 -
【C++】typedef的用法
typedef的用法原创 2023-06-02 20:30:53 · 1470 阅读 · 0 评论 -
【C++】sort函数
C++中的sort函数原创 2023-05-31 21:08:30 · 8685 阅读 · 0 评论 -
【C++】动态存储分配
C++动态存储分配原创 2023-05-28 20:03:10 · 1395 阅读 · 1 评论 -
【C++】指针
C++指针原创 2023-05-28 20:01:15 · 880 阅读 · 0 评论