学渣的C/C++

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2021年11月4日

摘要: 1、C++结构体和类的关系 为什么讲C++类的大小要提到结构体呢,因为可能很多和我一样的学子,接触过C语言的结构体对齐,但不明白类的大小怎么计算,这其中都要用到内存对齐的概念,对于内存对齐的概念之前已经说过了,可以参考这篇博客结构体字节对齐和共用体大小 - 学渣的C/C++ - 博客园 (cnblo 阅读全文
posted @ 2021-11-04 23:12 学渣的C/C++ 阅读(445) 评论(0) 推荐(2) 编辑

2021年11月3日

摘要: 1、虚函数表 虚函数表是C++实现多态的基础,多态是面向对象的三大特性之一,多态有利于提高代码的可读性,便于后期代码的扩展和维护。我们都知道多态的实现是基于虚函数表,那么虚函数表是什么时候创建的呢?虚函数表是怎么实现多态的功能的呢? 首先应该明确多态也称为动态多态,他是在程序运行时候确定函数地址的, 阅读全文
posted @ 2021-11-03 23:01 学渣的C/C++ 阅读(426) 评论(0) 推荐(1) 编辑

2021年11月1日

摘要: 1、类的静态成员变量 C++类的静态成员变量主要有以下特性: 1.静态成员变量需要类内定义,类外初始化 2.静态成员变量不依赖于类,静态成员变量属于全局区,不属于类的空间。 3.静态成员变量通过类名访问,也可以通过对象访问,同一类的不同对象,静态成员共享同一份数据 下面通过代码验证以上三种说法: # 阅读全文
posted @ 2021-11-01 23:09 学渣的C/C++ 阅读(727) 评论(0) 推荐(0) 编辑

2021年10月31日

摘要: 1、匿名对象 首先应该明确匿名对象,匿名对象是之没有对象名,调用完构造函数后即析构的对象。下面通过代码捕捉类的构造函数和析构函数,以进行说明: #include <iostream> using namespace std; class Solution{ public: Solution(int 阅读全文
posted @ 2021-10-31 22:45 学渣的C/C++ 阅读(111) 评论(0) 推荐(0) 编辑

2021年10月30日

摘要: 1、位段 面试中兴的时候,被问到了位段的内容,当时对位段毫不了解,今天就来个总结吧。 首先,位段是结构体为了节省内存的一种定义方式,在计算机网络中应用比较多,以下举例说明。 比如,我们现在有三个整形变量,变量的范围分别为0~15,0~10,0~254,我们知道 unssingned char表示的数 阅读全文
posted @ 2021-10-30 22:42 学渣的C/C++ 阅读(519) 评论(0) 推荐(0) 编辑

2021年10月29日

摘要: 1、结构体内存对齐 结构体内存对齐在笔试和面试中经常被问到,所以做个总结,首先通过代码验证不同结构体的内存大小: #include <stdio.h> struct Node1{ char c1; int val1; char c2; }; struct Node2{ char c1; char c 阅读全文
posted @ 2021-10-29 23:19 学渣的C/C++ 阅读(389) 评论(0) 推荐(0) 编辑

2021年10月28日

摘要: 1、二维数组 对于一维数组,int arr[10]; arr是数组名,也是首元素的地址,&arr是数组的地址,那么对于二维数组 int arr[3][3], arr可以肯定是数组名,那么他是不是首元素的地址呢?如果是首元素的地址,那么arr[0]又该是什么呢?通过以下代码进行验证: #include 阅读全文
posted @ 2021-10-28 19:21 学渣的C/C++ 阅读(539) 评论(0) 推荐(2) 编辑

2021年10月27日

摘要: 1、数组指针和指针数组的概念理解 数组指针:数组是修饰词,指针是名词,本质上是指针,可以理解为数组的指针,如:int (* arr) [10] 就是一个数组指针 指针数组:指针是修饰词,数组是名词,本质上是数组,可以理解为存放指针的数组,如:int* arr[10]; 一个指针数组。 2、指针和数组 阅读全文
posted @ 2021-10-27 20:31 学渣的C/C++ 阅读(2630) 评论(0) 推荐(0) 编辑

2021年10月26日

摘要: 内存问题是C和C++程序员经常要去面对的问题,常见的内存问题主要有段错误,内存泄漏,越界访问,无效指针等 1、段错误 段错误就是指访问的内存超出了系统给这个程序所设定的内存空间,例如,访问了不存在的内存地址,访问了系统保护的内存地址,访问了只读的内存地址等情况。下面对各种情况举例说明: #inclu 阅读全文
posted @ 2021-10-26 23:10 学渣的C/C++ 阅读(439) 评论(0) 推荐(0) 编辑

2021年10月25日

摘要: 1、函数指针的形式: 函数指针:int (*funcP) (int *a, int *b) 表示定义了一个funcP函数指针,指向了返回值为int类型,参数为int* 和int* 的函数 使用方式: //代码实现了两数的交换 #include <stdlib.h> #include <stdio.h 阅读全文
posted @ 2021-10-25 20:22 学渣的C/C++ 阅读(129) 评论(0) 推荐(0) 编辑