自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTML中的基础标签(适合于新手)

【代码】HTML中的基础标签(适合于新手)

2024-05-29 17:38:03 375

原创 C++中的异常处理

异常处理是一种在软件开发中用于处理程序运行时错误的机制。在C++中,异常处理的基本思想是将异常情况与正常情况进行区分,当异常情况发生时,程序不会继续执行下去,而是转而执行异常处理程序,以便对异常进行恰当处理。总结来说,C++中的异常处理提供了一种机制来处理程序运行时的意外情况,帮助提高代码的可靠性和可维护性。通过使用try、catch和throw关键字,我们可以在程序中定义和捕获异常,从而保证程序在遇到异常情况时能够进行适当的处理,而不会导致程序崩溃或产生不可预料的后果。

2024-05-28 23:02:40 430

原创 C++中的智能指针的发展史以及各阶段时的使用方式

在C++中,智能指针是一种用于管理动态分配内存的指针类,可以帮助避免内存泄漏和悬空指针等问题。智能指针的发展历程经历了裸指针、auto_ptr、shared_ptr、unique_ptr和weak_ptr等阶段。下面是智能指针在各个阶段的使用方式和总结智能指针是C++中用于管理动态内存的重要工具,能够提高代码的安全性、可维护性和可读性。auto_ptr是最早引入的智能指针,但因存在潜在问题,如无法拷贝及删除特性,已被废弃。

2024-05-24 09:44:14 500

原创 C++中的Lambda的定义与使用

在C++11引入了Lambda表达式,它是一种方便的匿名函数,可以在需要时临时定义函数,并且可以捕获局部变量。下面是Lambda表达式的定义与使用方式,并对其进行总结// Lambda表达式的基本语法// 使用Lambda表达式// Lambda表达式捕获外部变量// 使用捕获外部变量的Lambda表达式return 0;Lambda表达式是一种匿名的函数对象,可以在需要时直接定义并使用,不必提前命名。Lambda表达式的基本语法为,其中capture表示捕获方式,

2024-05-23 21:02:31 249

原创 C++中的类型转化的定义与使用

在C++中,类型转换指的是将一个数据类型的值转换为另一种数据类型的值的操作。C++提供了几种类型转换操作符,包括静态转换、动态转换和重解释转换。C++中类型转换具有更多的安全特性和可读性,提供了更多的转换操作符,适用于不同的转换场景。静态转换是最常用的转换方式,用于常见的隐式转换和显示转换。动态转换用于类之间的转换,并在转换前执行安全检查。重解释转换允许不安全的转换,应慎重使用,确保转换的合理性。在C++中,应尽可能使用C++风格的类型转换操作符,以提供更好的类型检查和类型安全。

2024-05-21 21:22:59 363

原创 C++中的模板类的定义与使用

在C++中,模板类是一种通用的类模板,允许在类定义和成员函数实现时使用不具体指定的数据类型或参数。int size;public:// 实现入栈操作T pop() {// 实现出栈操作~Stack() {// 使用模板类 Stack 演示return 0;模板类通过使用声明一个类模板,T 是模板参数,可以代表任意数据类型。在实例化模板类时,通过指明具体数据类型,编译器将根据实际情况生成对应的类。

2024-05-21 20:44:45 483 2

原创 C++中的动态数组的定义与使用

在C++中,动态数组是在程序运行时动态分配内存的数组,其大小可以在运行时进行调整。动态数组的定义和使用方式如下,并对其进行总结int size;// 动态分配内存来创建动态数组// 向动态数组中赋值i < size;i++) {// 访问动态数组中的元素i < size;i++) {// 释放动态数组所占用的内存return 0;动态数组通过new运算符在堆内存中动态分配空间,可以在程序运行时指定数组大小,灵活性更高。使用动态数组需要手动管理内存,避免内存泄漏,通过。

2024-05-21 12:12:59 594 1

原创 编码时的链接与编译

在编程中,链接(Linking)和编译(Compiling)是构建软件的过程中的两个重要步骤,分别是将源代码转换为可执行文件的过程以及将不同模块或库链接在一起形成最终的可执行程序的过程。

2024-05-19 23:08:40 355

原创 C++中的单例模式的定义与使用

在C++中,单例模式是一种设计模式,确保一个类只有一个实例,并且提供一个全局访问点来获取该实例。以下是单例模式的定义以及代码示例单例模式是一种创建型设计模式,确保一个类只有一个实例,并提供一个全局访问点来访问该实例。单例模式通常需要私有化构造函数以防止外部直接实例化,提供一个静态方法来获取唯一实例。确保一个类只有一个实例,并提供一个全局访问点来获取该实例,避免多次创建实例。适用于需要全局共享访问和控制资源的需求,如日志模块、配置文件、数据库连接等。单例模式可以节省系统资源,减小内存占用,提高效率。

2024-05-19 20:55:54 518

原创 C++中的模板函数的定义与使用

C++中的模板函数是一种通用的函数,能够处理各种数据类型而不限于特定的数据类型。模板函数的定义和使用方法如下,并对其进行总结模板函数使用表示模板的声明,T 是模板参数,可以用于指定任意数据类型。在使用模板函数时,通过明确指定模板函数所使用的数据类型,编译器会根据传入的参数类型进行类型推导。模板函数能够实现代码的通用性,允许程序员编写一次函数代码,然后通过不同的数据类型多次重复使用,避免代码重复度和提高代码复用。

2024-05-17 23:26:14 414

原创 C++中的运算符重载的定义与使用

在C++中,运算符重载(Operator Overloading)是一种特性,允许用户自定义类对象对内置运算符的行为进行重定义。通过运算符重载,可以使类对象拥有与内置类型相似的行为,例如使用"+"运算符来实现两个对象相加的操作。运算符重载是通过重载函数来实现的,其名称为operator关键字后紧跟要重载的运算符。public:// 定义相加操作的具体实现运算符重载是C++语言的强大特性,可以使类对象具有更直观和自然的操作方式,提高代码的可读性和可维护性。

2024-05-16 22:56:55 741

原创 C++中的临时对象的定义与使用

在C++中,临时对象(Temporary Object)通常是在表达式中创建的匿名对象,用于执行特定操作或计算后立即销毁。临时对象可以由编译器在需要时自动创建,并在使用结束后自动销毁。临时对象是没有命名的对象,通常用于表达式计算或函数调用返回值等场景。// 创建临时对象进行加法运算临时对象是在需要时动态创建并使用的匿名对象,能够简化代码和提高程序的效率。使用临时对象可以避免显式定义不必要的变量,提高代码的简洁性和可读性。

2024-05-15 22:51:22 318

原创 C++中的浅拷贝与深拷贝的定义与使用

在C++中,浅拷贝(Shallow Copy)和深拷贝浅拷贝只复制指针地址,多个对象共享一块内存,容易造成内存访问错误。深拷贝复制指针所指向的数据,每个对象都有自己的一份独立数据,不会相互影响。在设计类时,如果类的成员存在动态内存分配,需要谨慎考虑拷贝构造函数和赋值构造函数的实现,避免出现潜在的内存管理问题。深拷贝通常更安全可靠,但相比浅拷贝会消耗更多的系统资源。根据实际情况选择合适的拷贝方式来确保程序的正确性和性能。

2024-05-14 18:11:06 335 2

原创 C++中的const的定义与使用

在C++中,关键字const用来声明常量、修饰函数参数、成员函数、成员变量等。以下是关于C++中const的定义、使用方法和一些细节。const可以用于声明常量、修饰函数参数、成员函数和成员变量。使用const可以提高代码的可读性、安全性,防止意外修改常量或不应该被修改的变量。在成员函数后面使用const修饰符表明该函数是一个常量成员函数,不会修改对象的状态。在实际应用中,合理使用const关键字可以帮助编写更健壮的代码,使程序更易于理解和维护。

2024-05-13 22:09:13 790

原创 C++中的static的定义与使用

在C++中,关键字static可以用于多种场景,包括静态成员变量、静态成员函数、静态局部变量和静态全局变量。以下是关于C++中static的定义、使用方法和细节。static。

2024-05-12 12:09:50 361 1

原创 C++中的虚函数的定义与使用

在C++中,虚函数是一种在基类中声明的虚函数,用于实现多态(Polymorphism),让派生类根据运行时类型调用适当的函数。以下是关于C++虚函数的定义、使用和细节。在基类中使用关键字virtual声明一个函数为虚函数,派生类可以覆盖(Override)基类中的虚函数。public:仅将基类中的函数声明为虚函数,就可以实现多态。虚函数可以在派生类中被重写(Override),覆盖基类中的虚函数实现。若派生类中没有重写基类的虚函数,则将调用基类的虚函数。

2024-05-09 21:26:05 356 1

原创 C++中的命名空间的定义与使用

命名空间(Namespace)是C++中用来避免命名冲突并组织代码的一种机制。命名空间允许将全局作用域划分为不同的作用域,以便更好地管理和组织代码。命名空间通过关键字namespace声明,可以将多个变量、函数、类等封装在同一个作用域内。int x;

2024-05-08 22:49:13 250 2

原创 C++中的友元函数的定义与使用

在C++中,友元函数(Friend Function)是一种特殊的函数,可以访问一个类的私有成员和保护成员。友元函数可以在类的内部声明并定义,也可以在类的外部声明和定义。在函数声明或定义前加上关键字friend,表示该函数是类的友元函数。友元函数可以访问类的私有成员和保护成员,就像类的成员函数一样。public:// 友元函数声明// 友元函数可以直接访问类的私有成员友元函数的使用可以打破类的封装性,但应慎重使用,确保设计合理。

2024-04-22 21:47:01 523

原创 C++中的引用&的定义与使用

在C++中,通过在变量类型前加上“&”符号来定义引用,引用需要在定义时进行初始化,指向另一个变量。nt x = 10;// 定义一个引用ref,指向变量x在这里`

2024-04-22 07:45:00 351

原创 C++中的extern的定义与使用

【代码】关于extern关键字的含义与用途。

2024-04-21 09:07:08 465 1

原创 在C++的函数重载中出现二义性问题

(Function Overloading)是指在同一个作用域内,允许声明多个函数名相同但参数列表不同的函数。然而,当函数重载存在二义性问题时,编译器无法确定调用哪个重载函数,从而导致编译错误。在编写代码时,应该避免函数重载的二义性问题,确保重载函数的参数类型在调用时能够清晰地区分,以减少不必要的歧义。当然,有时对于函数输入类型的设计,需要考虑用户使用的方便性,可以适当设计不同的函数名称或采用其他方法来避免出现二义性。// 调用int参数版本。

2024-04-18 13:24:50 484 1

原创 为什么在函数中不能返回局部变量的地址

因为局部变量一般储存在栈区中,我们知道栈区里的数据在函数执行完后会自动释放,也就是清除,但在你打印第一次数据时你会发现局部变量的地址貌似并没有清除,但是在第二次打印时会出错,如下图所示。在第一次打印时正确数字时是编译器做了保留,防止程序员失误导致数据丢失。

2024-02-26 18:31:23 319 2

原创 如何减少函数在打印时失误造成的值改变

值传递虽然不会在传递的过程中发生失误造成原值的改变,但是会造成副本的产生,也就是内存的浪费。​​​地址传递虽然会减少副本的产生,但是可能会在传递的过程中发生失误造成原值的改变。其实很简单,在使用地址传递的过程中怕在函数中改变向量的值而产生原值的改变。,在函数中无论你怎么修改参数值也不会改变原值的。关于这两种传递的使用方式博主也不在此多介绍了。在我们函数传递的过程时无非利用两种传递方式。那么如何才能使二者优势结合呢。来讲讲二者的优劣之处。

2024-02-25 18:00:26 172

原创 const 修饰的指针的三种情况

你不能通过指针p将a的值1变成3,并且你也不能将p 指向 &b,将*p变成2。你可以将p 指向 &b,将*p变成2,但是你不能通过指针p将a的值1变成3。你可以通过指针p将a的值1变成3,但是你不能将p 指向 &b,将*p变成2。特点:指针指向的位置可以改,而指针指向位置的值却不能改。特点:指针指向位置的值可以改,而指针指向的位置却不能改。如 const int * const p = &a;如 int * const p = &a;如 const int *p = &a;

2024-02-22 14:49:39 335

原创 为什么空指针无法打印出结果

因为内存编号为0 ~ 255的为系统所占编号,一般是禁止用户访问的,当前的用户权限低于系统权限,是无法进行访问的,这也禁止了不法分子的某些行为。出现了权限冲突,这是为什么呢?

2024-02-22 14:06:46 303

空空如也

空空如也

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

TA关注的人

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