摘要:
# 37.public,protected和private访问和继承权限的区别? - public的变量和函数在类的内部外部都可以访问。 - protected的变量和函数只能在类的内部和其派生类中访问。 - private修饰的元素只能在类内访问 派生类可以继承基类中除了构造/析构、赋值运算符重载 阅读全文
posted @ 2023-07-03 21:28
CodeMagicianT
阅读(112)
评论(0)
推荐(0)
摘要:
# 36.内联函数和宏定义的区别 ■在使用时,宏只做简单字符串替换(编译前)。内联函数在编译时直接将函数代码嵌入到目标代码中,可以进行参数类型检查(编译时),语法判断等功能,且具有返回值,可以实现重载。 ■宏看起来像一个函数调用,但是会有隐藏一些难以发现的错误,宏定义时要注意书写(参数要括起来)否则 阅读全文
posted @ 2023-07-03 21:26
CodeMagicianT
阅读(91)
评论(0)
推荐(0)
摘要:
# 33.C++中的重载、重写(覆盖)和隐藏的区别 (1)重载(overload) 重载是指在同一范围定义中的同名成员函数才存在重载关系。主要特点是函数名相同,参数类型和数目有所不同,不能出现参数个数和类型均相同,仅仅依靠返回值不同来区分的函数。重载和函数成员是否是虚函数无关。举个例子: ```C+ 阅读全文
posted @ 2023-07-03 21:25
CodeMagicianT
阅读(220)
评论(0)
推荐(0)
摘要:
# 34.C++有哪几种的构造函数 C++中的构造函数可以分为4类: - 默认构造函数:在没有显式定义构造函数时,C++会自动生成一个默认构造函数,该函数没有参数,不执行任何操作。 - 初始化构造函数(有参数) - 拷贝构造函数:当使用现有对象初始化新对象时,拷贝构造函数被调用。它的语法是在函数声明 阅读全文
posted @ 2023-07-03 21:25
CodeMagicianT
阅读(465)
评论(0)
推荐(0)
摘要:
# 35.浅拷贝和深拷贝的区别 **浅拷贝** 浅拷贝只是拷贝一个指针,并没有新开辟一个地址,拷贝的指针和原来的指针指向同一块地址,如果原来的指针所指向的资源释放了,那么再释放浅拷贝的指针的资源就会出现错误。 **深拷贝** 深拷贝不仅拷贝值,还开辟出一块新的空间用来存放新的值,即使原先的对象被析构 阅读全文
posted @ 2023-07-03 21:25
CodeMagicianT
阅读(48)
评论(0)
推荐(0)
摘要:
# 32.C和C++的类型安全 **什么是类型安全?** 类型安全很大程度上可以等价于内存安全,类型安全的代码不会试图访问自己没被授权的内存区域。“类型安全”常被用来形容编程语言,其根据在于该门编程语言是否提供保障类型安全的机制;有的时候也用“类型安全”形容某个程序,判别的标准在于该程序是否隐含类型 阅读全文
posted @ 2023-07-03 21:24
CodeMagicianT
阅读(154)
评论(0)
推荐(0)
摘要:
# 31.野指针和悬空指针 都是是指向无效内存区域(这里的无效指的是"不安全不可控")的指针,访问行为将会导致未定义行为。 ●野指针 “野指针”(wild pointer):是没有被初始化过的指针,所以不确定指针具体指向。因为“野指针”可能指向任意内存段,因此它可能会损坏正常的数据,也有可能引发其他 阅读全文
posted @ 2023-07-03 21:23
CodeMagicianT
阅读(129)
评论(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
阅读(84)
评论(0)
推荐(0)
摘要:
# 28.拷贝初始化和直接初始化 ●当用于类类型对象时,初始化的拷贝形式和直接形式有所不同:直接初始化直接调用与实参匹配的构造函数,拷贝初始化总是调用拷贝构造函数。拷贝初始化首先使用指定构造函数创建一个临时对象,然后用拷贝构造函数将那个临时对象拷贝到正在创建的对象。举例如下 ```C++ strin 阅读全文
posted @ 2023-07-03 21:22
CodeMagicianT
阅读(87)
评论(0)
推荐(0)
摘要:
# 29.初始化和赋值的区别 在C++中,初始化和赋值是两个不同的概念。 需要注意的是,对于某些类型的变量,初始化和赋值的效果是一样的。例如,对于基本类型的变量,使用等号进行初始化和赋值的效果是一样的。但是对于一些复杂类型的变量,如类对象,初始化和赋值的效果是不同的。在这种情况下,初始化会调用类的构 阅读全文
posted @ 2023-07-03 21:22
CodeMagicianT
阅读(384)
评论(0)
推荐(0)

浙公网安备 33010602011771号