![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【C++】
sugarbliss
我想要的不多,只是和多数人不一样。
展开
-
内存对齐及结构体大小--最通俗易懂的讲解
1. 什么是字节对齐?字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编码中,一个英文字符等于一个字节。字节按照一定规则在空间上排列就是字节对齐。CPU在读取内存地址的时候,一定按照一定的偏移量去读取,不知道你发现了没有,我们没有看到一个变量的大小是 3 个字节的,都是 1 个字节,2个字节,4个字节,8个字节,16个字节,32个字节。为什么会这样呢?因为CPU设计的时候,没有一个 3 、5、7、9这样的模子,因为设计这样的模子非常费原创 2020-08-26 17:19:22 · 1114 阅读 · 1 评论 -
C语言实现memmove函数
memmove函数内部的实现原理: 当源内存的首地址等于目标内存的首地址时,不进行任何拷贝 当源内存的首地址大于目标内存的首地址时,实行正向拷贝 当源内存的首地址小于目标内存的首地址时,实行反向拷贝 注意:无论正向拷贝还是反向拷贝都是为了在发生内存重叠时能正确拷贝(保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中)#include<bits/stdc++.h>#include<assert.h>using namespace std;vo原创 2020-05-23 15:37:46 · 1344 阅读 · 0 评论 -
在创建派生类对象时,构造函数的执行顺序
基类构造函数→对象成员构造函数→派生类本身的构造函数#include<iostream>using namespace std;class A{public: A() { cout << "基类A构造函数" << endl; } ~A() { cout << "基类A析构函数" << endl; }};class B : A{p原创 2020-05-18 15:42:00 · 2549 阅读 · 0 评论 -
虚函数和纯虚函数--最通俗易懂的讲解
上帝是一个程序员,创造了动物(基类),给予了动物吃饭,睡觉,叫唤等通用功能。(封装)只指定了平均睡觉八小时(虚函数),其中没有指定具体的吃饭,叫唤的行为。(纯虚函数)然后细分一下,动物有猫狗羊和人。(继承)人类明确它们物种的时候(明确类型的派生类指针)猫吃鱼 狗吃肉 羊吃草猫喵喵 狗汪汪 羊咩咩(多态 同名覆盖)一切都如此顺理成章。突然人发现一只动物!这只是什么呢?诶?这货不知道是啥!只能用"动物"来称呼他!(基类指针指向子类对象)当没有虚函数的时候,人类发现这只动物不会叫也不.原创 2020-05-17 21:13:02 · 7616 阅读 · 1 评论 -
安装Visual Studio2019:计算机正忙于安装一个非visual或者Microsoft.VisualStudio.MinShell.Msi.Resources安装失败解决方案
一次只能运行一个 Visual Studio 安装实例。我们只需重启一下即可。原创 2020-05-15 17:15:13 · 4578 阅读 · 4 评论 -
C++中的 =default
就是指示编译器生成一个合成版本的构造/析构函数(包括拷贝构造,赋值构造,移动构造,移动赋值构造)。比如你已经定义了一个有参的构造函数,那么默认构造函数编译器就不再生成了,你可以通过default关键字让默认构造函数恢复相对于=default...原创 2020-04-23 15:10:05 · 709 阅读 · 0 评论