自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 C++ main函数全解

char* argv[]:同时也可写作char** argv,这是一个指针数组,实际长度为argc+1,但是最后一位保证是空指针来确保数组结束,有这个性质,argv的长度也可不依赖与argc的大小。int argc:一个非负数,表示传入的参数的个数,例如我有一个名字未:test.exe,在命令行中输入命令:text arg1 arg2 arg3,那么我在main函数内,检查argc参数的值为3。2.void wmain(){函数体}/int wmain(){函数体}/int。四、main函数的参数解释。

2024-01-21 12:35:53 701

原创 SWUSTOJ解题 0001:Satellite Photographs

2.遍历photo的每个元素,检查这个元素的最大连通个数,这也是本题目的关键所在,其实可以想到,对于每个元素,都要看周围的元素是否满足相同的条件,然后递归这个过程,所以能够想到使用深度遍历/广度遍历的方式解决。本题的意思就是说,给出了一个二维矩阵,然后矩阵由“.”和“*”组成,题目问上下左右最多有多少个“*”是连通的,最大连通数就是我们要求的,但是一个int类型。1.使用一个二维矩阵photo存储所有的“*”和“.”

2023-12-24 23:14:23 398

原创 「Effective C++」条款13: 以对象管理资源

是一种独占式智能指针,只能有一个指针指向它所拥有的对象,当指针被销毁时,它所拥有的对象也会被销毁。可以转移拥有权,即将一个对象的拥有权转移给另一个对象或者一个原始指针。是一种共享式智能指针,多个指针可以指向同一个对象,当最后一个对象被销毁时,才会销毁所拥有的对象。内部维护了一个引用计数器,用于记录有多少个对象指向同一个对象。

2023-06-05 15:01:14 87

原创 C++ auto详解以及常见使用场景

序言:在C++11引入的关键字auto用于进行类型推导,即根据变量的初始化表达式自动推断变量的类型。使用auto关键字可以简化代码并提高代码的可读性。

2023-06-05 11:39:36 4042 1

原创 「Effective C++」条款12: 复制对象时勿忘其每一个成分

拷贝构造函数 + 赋值运算符重载函数 = copying函数。赋值运算符重载函数=copy assignment操作符。拷贝构造函数=复制构造函数=copy构造函数。

2023-06-02 16:41:10 65

原创 C++11中的const和constexpr

【代码】C++11中的const和constexpr。

2023-06-01 15:08:09 188

原创 C++中的NULL和nullptr

nullptr是一个关键字,是一个特定的空指针常量,它的类型是nullptr_t,可以隐式转换为任何指针类型。:NULL是一个宏定义,通常被定义为整数0。它被视为整数类型,并且可以隐式转换为指针类型。**可能会导致意外的类型转换和错误,因为它实际上是整数0,可能与整数类型发生混淆。提供更好的类型安全性,因为它是一个明确定义的空指针常量,不会与其他类型发生混淆。在C++中,NULL和nullptr都用于表示空指针,但它们有一些重要的区别。是一个指针,那么两个重载的。​ 但是为什么在平常。

2023-06-01 14:34:41 590

原创 C++ 字符串原始字面量

在C++中,字符串原始字面量(raw string literal)是一种特殊的字符串表示方式,用于方便地表示包含转义字符和特殊字符的字符串,而无需使用额外的转义。是使用字符串原始字面量表示的字符串,不会解释其中的转义字符。是使用定界符的字符串原始字面量示例。是常规字符串,包含了转义字符。不会包含在字符串值中。

2023-06-01 14:08:47 319

原创 「Effective C++」条款11:在operator= 中处理“自我赋值”

​ 注意,在我们日常的编码过程中,一般不需要按照本文的方式来做什么事,因为本节属于编译器自动生成的默认函数的范围,编译器会帮我们做好安全方面的问题,但是由于我们知道如果你自己显式的写了相关的函数,编译器就不再自动的生成,所以如果你写的函数版本有错误,可能会导致本节所提到的问题,解决方式请参照本文内容。指针指向的地址,来释放内存,否则会内存泄漏,正是因为这个这个delete,导致了问题。可见并不是我们所期望的那样,因为这个自我赋值,把原本的值也删除了。是一个指针,要把这个指针赋予新的地址,就必须先释放这个。

2023-06-01 10:58:41 68

原创 「Effective C++」条款10: 令operator=返回一个reference to *this

参考文章:(https://blog.csdn.net/u014038273/article/details/75426041)书中说明:“为了实现连锁赋值,赋值操作符必须返回一个reference指向操作符的左侧实参”。这代码是正确的,但是如果你有一个类,需要在类对象之间连锁赋值,就必须遵守这句书中说明。可见采用值作为返回值和引用作为返回值输出结果并没有什么区别,都能正确的在对象之间进行赋值。使用引用方式进行赋值速度更快,使用值赋值的方式需要创建临时对象,速度慢一点。输出结果:a,b,c的值相同。

2023-05-30 09:46:34 78 1

原创 「Effective C++」条款09: 绝不在构造和析构过程中调用virtual函数

​ 正如第一点所分析的,构造函数的调用顺序是先基类的构造函数,再调用子类的构造函数(易错点:只有子类的构造函数调用的时候,子类的对象才会存在),所以当调用基类的构造函数的时候,子类的对象并不存在,既然子类的对象不存在,那么也就无法调用子类的虚函数。​ 同理,按照析构的顺序,会先调用子类的析构函数,此时子类的资源都没了,所以没法调用子类的虚函数,接着调用父类的析构函数,此时父类的析构函数所调用的就是父类自己的虚函数。声明了一个子类的对象,所以按道理应该调用的是子类重写后的虚函数,即输出。

2023-05-29 18:35:21 65 1

原创 「Effective C++」条款07: 为多态基类声明virtual析构函数

输出结果图:-----证明当父类的析构函数没有virtual关键字的时候子类的析构函数没有被正确调用。2.既然有内存的申请,就必须有内存的释放,释放使用关键字。观察以上代码,应该思考为什么基类的析构函数加上了关键字。输出结果图:可以看到两个子类的析构函数被调用。在堆上分配内存,堆上的内存需要程序员申请。3.关于多态基类为什么需要使用。关键字,正是和内存释放有关。

2023-05-29 17:44:06 65 1

原创 「Effective C++」条款06: 若不想使用编译器自动生成的函数,就该明确拒绝

优点:操作简单,能够应付大多数场景缺点:友元依旧可以操作定义为private的成员函数,或者使用公共成员函数也可以调用声明为private的成员函数public:private:Student(const Singleton& obj){} //声明为private,并定义为空来防止拒绝使用这两个函数。

2023-05-25 14:21:24 90 1

原创 「Effective C++」条款05: 了解c++默默编写并调用了哪些函数

析构函数不是用来销毁对象的,而是在编译器销毁对象的时候自动调用析构函数来清理资源的;作为基类的时候析构函数加virtual关键字,子类才能够销毁对象时释放资源;取地址重载和const取地址重载:一般不单独考虑。不涉及资源的释放可以不写;析构函数不可以重载;

2023-05-24 10:43:25 71

原创 「Effective C++」条款04: 确定对象被使用前已先被初始化

​ 成员变量的声明顺序可以不和初始化列表写的顺序相同,但是实际上初始化顺序还是按照声明顺序进行的,不过请按照声明顺序书写初始化列表。第一种方式(在构造函数函数体内进行初始化),这种方式,首先。内存的是脏数据,并不清楚具体的值,所以操作未知的值会引发意想不到的状况,为此,我们使用对象前需要进行初始化。​ 虽然对于内置类型,两种方式的效率几乎相同,但是为了统一,建议还是都使用初始化列表的方式进行初始化。​ ·首先看不推荐的初始化方式(记住C++规定对象的成员变量初始化动作发生在进入构造函数本体之前)

2023-05-23 16:22:17 51 1

原创 「Effective C++」条款02:尽量以const,enum,inline替换#define

Effective C++

2023-05-22 11:56:45 68 2

原创 C++ 20标准入门学习笔记

个人学习笔记

2023-05-15 16:45:45 235

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除