- 博客(9)
- 收藏
- 关注
原创 拷贝构造函数和赋值运算符重载的作用,什么是c++模板,有哪些类型的模板
模板是一种泛型编程机制,它允许编写能够处理多种数据类型的代码,而不是为每种数据类型都编写重复的代码。模板的类型有函数模板和类模板函数模板:函数模板是用于创建通用函数的模板。它的定义以template关键字开头,后面跟着一个或多个模板参数(通常是类型参数),放在尖括号<>中。T temp = a;a = b;b = temp;在这里,template<typename T>表示定义了一个类型参数T,这个T可以在函数swap的定义中被当作一种具体的数据类型来使用。
2024-11-05 19:22:54
163
原创 C++ 中类的三大特性是什么?什么是构造函数和析构函数?它们的作用是什么?
构造函数是一种特殊的成员函数,它的名字与类名相同,没有返回值类型(包括void)。在创建对象时,构造函数会自动被调用,用于初始化对象的数据成员。作用:初始化数据成员。资源分配:在一些复杂的类中,构造函数可能还负责分配资源,如动态内存。对象的初始化顺序:在有多个数据成员和继承关系的类中,构造函数的调用顺序是先调用基类的构造函数,然后按照成员声明的顺序调用成员对象的构造函数,最后执行自身的构造函数体。这确保了对象在创建时所有的部分都能正确地初始化。
2024-11-04 21:11:46
312
原创 C/C++中数组定义和初始化的方式有哪些?数组名字有什么含义?
定义方式:与 C 语言类似,先定义数组类型,再声明数组变量。例如:int arr[10];。C++11 引入了统一初始化语法,可以更简洁地定义数组。例如:int arr[]{1, 2, 3, 4, 5};,这种方式与 C 语言中的自动确定数组大小的初始化方式类似。初始化方式:使用初始化列表:和 C 语言一样,可以使用初始化列表来初始化数组。例如:int arr[5] = {10, 20, 30, 40, 50};。
2024-11-01 19:07:20
521
原创 new 和 delete 运算符在 C++ 中的作用,什么是内存泄漏?如何避免内存泄漏?
内存泄漏是指程序在动态分配内存后,失去了对这块内存的控制,导致这块内存无法被释放,一直占用系统资源的现象。
2024-10-31 19:14:39
1530
原创 空指针和野指针的概念,C/C++ 中内存分为哪些区域?分别存储什么内容?
空指针:空指针是一个特殊的指针值,它表示指针不指向任何有效的内存地址。在 C 和 C++ 等编程语言中,通常用NULL(在 C 中)或nullptr(在 C++ 中)来表示空指针。野指针:野指针是指那些指向不确定内存地址的指针。野指针的产生通常是由于指针变量没有被正确初始化,或者指向的内存已经被释放但指针仍然保留了原来的地址值。如何避免野指针:初始化指针在定义指针变量时,尽量立即初始化指针。
2024-10-30 19:34:59
195
原创 指针是什么有哪些用途?引用和指针有什么区别?
指针是一个变量,其值为另一个变量的地址。在 C/C++ 语言中,变量在内存中有一个特定的存储位置,这个位置可以用地址来表示。例如,对于一个整型变量int a = 10;,可以定义一个指针变量int *p;,然后通过p = &a;将变量a的地址赋值给指针p,此时p就指向了变量a。特殊的指针:野指针野指针是指指针变量指向的是一个不确定的内存地址。这种指针可能是因为没有被初始化,或者在指向的内存被释放后没有正确更新指针的值而产生的。空指针指向地址为0的指针,表示不指向任何有效的对象悬挂指针。
2024-10-29 19:21:01
406
原创 递归函数的特点和使用场景是什么?什么是回调函数?有什么特点?
在 C/C++ 中,回调函数是一个通过函数指针调用的函数。如果把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。例如,假设有一个函数void func(int (*callback)(int)),它接受一个函数指针callback作为参数,这个callback指向的函数就是回调函数。
2024-10-28 16:53:54
266
原创 在C/C++中如何使用switch-case语句,有什么注意事项?函数参数传递的方式有哪些?分别有什么特点?
在 C/C++ 中,其中expression是一个整数表达式(如整型变量、整型常量表达式等)。等是常量表达式,其值必须是整型常量,并且在同一个switch语句中,各个case常量表达式的值必须互不相同。
2024-10-27 20:09:39
1648
空空如也
求纠错,求纠错,求纠错
2022-10-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人