上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 57 下一页
摘要: # 35.浅拷贝和深拷贝的区别 **浅拷贝** 浅拷贝只是拷贝一个指针,并没有新开辟一个地址,拷贝的指针和原来的指针指向同一块地址,如果原来的指针所指向的资源释放了,那么再释放浅拷贝的指针的资源就会出现错误。 **深拷贝** 深拷贝不仅拷贝值,还开辟出一块新的空间用来存放新的值,即使原先的对象被析构 阅读全文
posted @ 2023-07-03 21:25 CodeMagicianT 阅读(60) 评论(0) 推荐(0)
摘要: # 32.C和C++的类型安全 **什么是类型安全?** 类型安全很大程度上可以等价于内存安全,类型安全的代码不会试图访问自己没被授权的内存区域。“类型安全”常被用来形容编程语言,其根据在于该门编程语言是否提供保障类型安全的机制;有的时候也用“类型安全”形容某个程序,判别的标准在于该程序是否隐含类型 阅读全文
posted @ 2023-07-03 21:24 CodeMagicianT 阅读(181) 评论(0) 推荐(0)
摘要: # 31.野指针和悬空指针 都是是指向无效内存区域(这里的无效指的是"不安全不可控")的指针,访问行为将会导致未定义行为。 ●野指针 “野指针”(wild pointer):是没有被初始化过的指针,所以不确定指针具体指向。因为“野指针”可能指向任意内存段,因此它可能会损坏正常的数据,也有可能引发其他 阅读全文
posted @ 2023-07-03 21:23 CodeMagicianT 阅读(154) 评论(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 阅读(103) 评论(0) 推荐(0)
摘要: # 27.final和override关键字 在C++中,final是一个关键字,用于修饰类的成员变量和成员函数。 1.final修饰成员变量:当一个类中的成员变量被声明为final时,它就变成了常量,即它的值不能再被修改。final修饰的成员变量必须在类定义中进行初始化,且只能初始化一次。 假设我 阅读全文
posted @ 2023-07-03 21:22 CodeMagicianT 阅读(96) 评论(0) 推荐(0)
摘要: # 28.拷贝初始化和直接初始化 ●当用于类类型对象时,初始化的拷贝形式和直接形式有所不同:直接初始化直接调用与实参匹配的构造函数,拷贝初始化总是调用拷贝构造函数。拷贝初始化首先使用指定构造函数创建一个临时对象,然后用拷贝构造函数将那个临时对象拷贝到正在创建的对象。举例如下 ```C++ strin 阅读全文
posted @ 2023-07-03 21:22 CodeMagicianT 阅读(108) 评论(0) 推荐(0)
摘要: # 29.初始化和赋值的区别 在C++中,初始化和赋值是两个不同的概念。 需要注意的是,对于某些类型的变量,初始化和赋值的效果是一样的。例如,对于基本类型的变量,使用等号进行初始化和赋值的效果是一样的。但是对于一些复杂类型的变量,如类对象,初始化和赋值的效果是不同的。在这种情况下,初始化会调用类的构 阅读全文
posted @ 2023-07-03 21:22 CodeMagicianT 阅读(407) 评论(0) 推荐(0)
摘要: # 25.C++的顶层const和底层const 任意常量对象为**顶层const**,包括常量指针;指向常量的指针和声明const的引用都为**底层const** 顶层const(top-level const)表示指针本身是个常量int* const ptr=&m; 此时指针不可以发生改变,但是 阅读全文
posted @ 2023-07-03 21:21 CodeMagicianT 阅读(106) 评论(0) 推荐(0)
摘要: # 26.数组名和指针(这里为指向数组首元素的指针)区别? - 二者均可通过增减偏移量来访问数组中的元素。 - 数组名不是真正意义上的指针,可以理解为常指针,所以数组名没有自增、自减等操作。 - **当数组名当做形参传递给调用函数后,就失去了原有特性,退化成一般指针,多了自增、自减操作,但sizeo 阅读全文
posted @ 2023-07-03 21:21 CodeMagicianT 阅读(52) 评论(0) 推荐(0)
摘要: # 23.define宏定义和const的区别 **编译阶段** - define是在编译的**预处理**阶段起作用,而const是在编译、运行的时候起作用 **安全性** - define只做替换,不做类型检查和计算,也不求解,容易产生错误,一般最好加上一个大括号包含住全部的内容,要不然很容易出错 阅读全文
posted @ 2023-07-03 21:20 CodeMagicianT 阅读(60) 评论(0) 推荐(0)
上一页 1 ··· 34 35 36 37 38 39 40 41 42 ··· 57 下一页