上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 52 下一页
摘要: # 33.C++中的重载、重写(覆盖)和隐藏的区别 (1)重载(overload) 重载是指在同一范围定义中的同名成员函数才存在重载关系。主要特点是函数名相同,参数类型和数目有所不同,不能出现参数个数和类型均相同,仅仅依靠返回值不同来区分的函数。重载和函数成员是否是虚函数无关。举个例子: ```C+ 阅读全文
posted @ 2023-07-03 21:25 CodeMagicianT 阅读(248) 评论(0) 推荐(0)
摘要: # 34.C++有哪几种的构造函数 C++中的构造函数可以分为4类: - 默认构造函数:在没有显式定义构造函数时,C++会自动生成一个默认构造函数,该函数没有参数,不执行任何操作。 - 初始化构造函数(有参数) - 拷贝构造函数:当使用现有对象初始化新对象时,拷贝构造函数被调用。它的语法是在函数声明 阅读全文
posted @ 2023-07-03 21:25 CodeMagicianT 阅读(495) 评论(0) 推荐(0)
摘要: # 35.浅拷贝和深拷贝的区别 **浅拷贝** 浅拷贝只是拷贝一个指针,并没有新开辟一个地址,拷贝的指针和原来的指针指向同一块地址,如果原来的指针所指向的资源释放了,那么再释放浅拷贝的指针的资源就会出现错误。 **深拷贝** 深拷贝不仅拷贝值,还开辟出一块新的空间用来存放新的值,即使原先的对象被析构 阅读全文
posted @ 2023-07-03 21:25 CodeMagicianT 阅读(57) 评论(0) 推荐(0)
摘要: # 32.C和C++的类型安全 **什么是类型安全?** 类型安全很大程度上可以等价于内存安全,类型安全的代码不会试图访问自己没被授权的内存区域。“类型安全”常被用来形容编程语言,其根据在于该门编程语言是否提供保障类型安全的机制;有的时候也用“类型安全”形容某个程序,判别的标准在于该程序是否隐含类型 阅读全文
posted @ 2023-07-03 21:24 CodeMagicianT 阅读(179) 评论(0) 推荐(0)
摘要: # 31.野指针和悬空指针 都是是指向无效内存区域(这里的无效指的是"不安全不可控")的指针,访问行为将会导致未定义行为。 ●野指针 “野指针”(wild pointer):是没有被初始化过的指针,所以不确定指针具体指向。因为“野指针”可能指向任意内存段,因此它可能会损坏正常的数据,也有可能引发其他 阅读全文
posted @ 2023-07-03 21:23 CodeMagicianT 阅读(151) 评论(0) 推荐(0)
摘要: # 30.externC的用法 为了能够**正确地在C++代码中调用C语言**的代码:在程序中加上extern "C"后,相当于告诉编译器这部分代码是C语言写的,因此要按照C语言进行编译,而不是C++; 哪些情况下使用extern "C": (1)C++代码中调用C语言代码; (2)在C++中的头文 阅读全文
posted @ 2023-07-03 21:23 CodeMagicianT 阅读(101) 评论(0) 推荐(0)
摘要: # 27.final和override关键字 在C++中,final是一个关键字,用于修饰类的成员变量和成员函数。 1.final修饰成员变量:当一个类中的成员变量被声明为final时,它就变成了常量,即它的值不能再被修改。final修饰的成员变量必须在类定义中进行初始化,且只能初始化一次。 假设我 阅读全文
posted @ 2023-07-03 21:22 CodeMagicianT 阅读(94) 评论(0) 推荐(0)
摘要: # 28.拷贝初始化和直接初始化 ●当用于类类型对象时,初始化的拷贝形式和直接形式有所不同:直接初始化直接调用与实参匹配的构造函数,拷贝初始化总是调用拷贝构造函数。拷贝初始化首先使用指定构造函数创建一个临时对象,然后用拷贝构造函数将那个临时对象拷贝到正在创建的对象。举例如下 ```C++ strin 阅读全文
posted @ 2023-07-03 21:22 CodeMagicianT 阅读(105) 评论(0) 推荐(0)
摘要: # 29.初始化和赋值的区别 在C++中,初始化和赋值是两个不同的概念。 需要注意的是,对于某些类型的变量,初始化和赋值的效果是一样的。例如,对于基本类型的变量,使用等号进行初始化和赋值的效果是一样的。但是对于一些复杂类型的变量,如类对象,初始化和赋值的效果是不同的。在这种情况下,初始化会调用类的构 阅读全文
posted @ 2023-07-03 21:22 CodeMagicianT 阅读(405) 评论(0) 推荐(0)
摘要: # 25.C++的顶层const和底层const 任意常量对象为**顶层const**,包括常量指针;指向常量的指针和声明const的引用都为**底层const** 顶层const(top-level const)表示指针本身是个常量int* const ptr=&m; 此时指针不可以发生改变,但是 阅读全文
posted @ 2023-07-03 21:21 CodeMagicianT 阅读(104) 评论(0) 推荐(0)
上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 52 下一页