D
G
O
L

随笔分类 -  c++

摘要:函数重载 调用重载函数的时候,在代码中我们用相同的函数名,但是,后面的实参不一样,编译器根据实参与重载函数的形参进行匹配,然后决定调用具体的函数,如果匹配失败,编译器将视为错误。 在实际开发中,视需求重载各种数据类型,不要重载功能不同的函数。 注意: l 使用重载函数时,如果数据类型不匹配,C++尝 阅读全文
posted @ 2023-02-10 16:58 jinganglang567 阅读(60) 评论(0) 推荐(0)
摘要:函数的默认参数 默认参数是指调用函数的时候,如果不书写实参,那么将使用的一个缺省值。 语法: 返回值 函数名(数据类型 参数=值, 数据类型 参数=值,……); 注意: l 如果函数的声明和定义是分开书写的,在函数声明中书写默认参数,函数的定义中不能书写默认参数。 l 函数必须从右到左设置默认参数。 阅读全文
posted @ 2023-02-10 15:58 jinganglang567 阅读(114) 评论(0) 推荐(0)
摘要:各种形参的使用场景 传值、传地址和传引用的指导原则《C++ Primer Plus》 1)如果不需要在函数中修改实参 l 如果实参很小,如C++内置的数据类型或小型结构体,则按值传递。 l 如果实参是数组,则使用const指针,因为这是唯一的选择(没有为数组建立引用的说法)。 l 如果实参是较大的结 阅读全文
posted @ 2023-02-10 15:51 jinganglang567 阅读(48) 评论(0) 推荐(0)
摘要:引用用于函数的参数 把函数的形参声明为引用,调用函数的时候,形参将成为实参的别名。 这种方法也叫按引用传递或传引用。(传值、传地址、传引用只是说法不同,其实都是传值。) 引用的本质是指针,传递的是变量的地址,在函数中,修改形参会影响实参。 1)传引用的代码更简洁。 2)传引用不必使用二级指针。 3) 阅读全文
posted @ 2023-02-10 15:44 jinganglang567 阅读(54) 评论(0) 推荐(0)
摘要:引用的概念 引用变量是C++新增的复合类型。 引用是已定义的变量的别名。 引用的主要用途是用作函数的形参和返回值。 声明/创建引用的语法: 数据类型 &引用名=原变量名; 注意: l 引用的数据类型要与原变量名的数据类型相同。 l 引用名和原变量名可以互换,它们值和内存单元是相同的。 l 必须在声明 阅读全文
posted @ 2023-02-09 14:36 jinganglang567 阅读(30) 评论(0) 推荐(0)
摘要:枚举 枚举是一种创建符号常量的方法。 枚举的语法: enum 枚举名 { 枚举量1 , 枚举量2 , 枚举量3, ......, 枚举量n }; 例如: enum colors { red , yellow , blue }; 这条语句完成了两项工作: l 让colors成了一种新的枚举类型的名称, 阅读全文
posted @ 2023-02-09 10:12 jinganglang567 阅读(31) 评论(0) 推荐(0)
摘要:共同体 定义共同体的语法: union 共同体名 { 成员一的数据类型 成员名一; 成员二的数据类型 成员名二; 成员三的数据类型 成员名三; ...... 成员n的数据类型 成员名n; }; 共同体能够存储不同的数据类型,但是,在同一时间只能存储其中的一种类型。 注意: l 共同体占用内存的大小是 阅读全文
posted @ 2023-02-09 09:39 jinganglang567 阅读(63) 评论(0) 推荐(0)
摘要:空指针 在C和C++中,用0或NULL都可以表示空指针。 声明指针后,在赋值之前,让它指向空,表示没有指向任何地址。 1)使用空指针的后果 如果对空指针解引用,程序会崩溃。 如果对空指针使用delete运算符,系统将忽略该操作,不会出现异常。所以,内存被释放后,也应该把指针指向空。 在函数中,应该有 阅读全文
posted @ 2023-02-08 16:31 jinganglang567 阅读(78) 评论(0) 推荐(0)
摘要:动态分配内存new&&delete 使用堆区的内存有四个步骤: 1)声明一个指针; 2)用new运算符向系统申请一块内存,让指针指向这块内存; 3)通过对指针解引用的方法,像使用变量一样使用这块内存; 4)如果这块内存不用了,用delete运算符释放它。 申请内存的语法:new 数据类型(初始值); 阅读全文
posted @ 2023-02-08 16:08 jinganglang567 阅读(29) 评论(0) 推荐(0)
摘要:内存管理 在 C++ 中,程序运行时,内存主要分成四个区,分别是栈、堆、数据段和代码段。 **栈:**存储局部变量、函数参数和返回值。 **堆:**存储动态开辟内存的变量。 **数据段:**存储全局变量和静态变量。 **代码段:**存储可执行程序的代码和常量(例如字符常量),此存储区不可修改。 栈和 阅读全文
posted @ 2023-02-08 15:52 jinganglang567 阅读(57) 评论(0) 推荐(0)
摘要:void 函数的形参用void *,表示接受任意数据类型的指针。 注意: l 不能用void声明变量,它不能代表一个真实的变量,但是,用void *可以。 l 不能对void *指针直接解引用(需要转换成其它类型的指针)。 l 把其它类型的指针赋值给void*指针不需要转换。 l 把void *指针 阅读全文
posted @ 2023-02-08 15:44 jinganglang567 阅读(29) 评论(0) 推荐(0)
摘要:c++ 指针 不管是整型、浮点型、字符型,还是其它的数据类型的变量,指针的地址都是一个十六进制数。我们用整型指针存放整数型变量的地址;用字符型指针存放字符型变量的地址;用浮点型指针存放浮点型变量的地址,用自定义数据类型指针存放自定义数据类型变量的地址。 对指针的赋值操作也通俗的被称为“指向某变量”, 阅读全文
posted @ 2023-02-07 16:56 jinganglang567 阅读(34) 评论(0) 推荐(0)