上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 58 下一页
摘要: 66.C++函数调用的压栈过程 参数逆序入栈:从右到左将函数参数压入栈。 保存返回地址:将函数调用结束后要执行的指令地址压栈。 建立栈帧:将旧栈基址(EBP)入栈,把当前栈顶(ESP)设为新栈基址。 分配局部变量:移动栈顶指针,为函数内局部变量开辟栈空间。 执行函数,执行完毕后释放栈帧,恢复寄存器, 阅读全文
posted @ 2023-07-11 15:09 CodeMagicianT 阅读(117) 评论(0) 推荐(0)
摘要: 65.C++的四种强制转换 显示类型转换包括静态转换(static_cast)、动态转换(dynamic_cast)、常量转换(const_cast)、重新解释转换(reinterpret_cast) 1.静态转换(static_cast) 1.1一句话说清 static_cast 是 C++ 最常 阅读全文
posted @ 2023-07-11 15:08 CodeMagicianT 阅读(280) 评论(0) 推荐(0)
摘要: # 64.成员初始化列表的概念,为什么用它会快一些? ## 1.成员初始化列表的概念 在类的构造函数中,不在函数体内对成员变量赋值,而是在构造函数的花括号前面使用冒号和初始化列表赋值 ## 2.效率 用初始化列表会快一些的原因是,对于类型,它少了一次调用构造函数的过程,而在函数体中赋值则会多一次调用 阅读全文
posted @ 2023-07-11 15:07 CodeMagicianT 阅读(135) 评论(0) 推荐(0)
摘要: # 63.介绍面向对象的三大特性,并且举例说明 三大特性:继承、封装和多态 ## 1.封装 C++中的封装是指将属性和方法包装在一个类中,并通过访问控制符来限制外部对类的访问。封装可以提高代码的可维护性和安全性,同时也可以实现多态性。 在C++中,封装可以通过以下方式实现: 1.使用访问控制符:C+ 阅读全文
posted @ 2023-07-11 15:06 CodeMagicianT 阅读(146) 评论(0) 推荐(0)
摘要: # 62.对象复用的了解,零拷贝的了解 ## 1.对象复用 对象复用是指将已经创建的对象进行重复使用,而不是创建新的对象。在面向对象编程中,对象复用可以通过以下几种方式实现: 1.对象池:对象池是一种常见的对象复用方式,它可以将已经创建的对象保存起来,并在需要时将其重新使用。 2.模板类和模板对象: 阅读全文
posted @ 2023-07-05 10:34 CodeMagicianT 阅读(291) 评论(0) 推荐(0)
摘要: # 61.什么是内存泄露,如何检测与避免 内存泄漏是指在程序运行过程中,一部分程序申请的内存空间由于没有及时释放,导致系统中存在大量的已分配但无法使用的内存空间,最终会耗尽可用内存资源,导致程序崩溃或者运行缓慢。 ## 1.内存泄漏的主要原因包括: 1.忘记释放内存:程序员在使用完已分配的内存后,没 阅读全文
posted @ 2023-07-05 10:12 CodeMagicianT 阅读(326) 评论(0) 推荐(0)
摘要: # 60.C++中新增了string,它与C语言中的 char *有什么区别吗?它是如何实现的? 1.实现方式:string是一种抽象类,它的实现由std::string和char *转换而来。 在实现上,`std::string` 内部通常会使用动态数组来存储字符串,可以动态地分配内存。同时,`s 阅读全文
posted @ 2023-07-05 09:39 CodeMagicianT 阅读(184) 评论(0) 推荐(0)
摘要: # 59.有哪些情况必须用到成员列表初始化?作用是什么? ## 1.必须使用成员初始化的四种情况 ① 当初始化一个引用成员时; ```C++ struct MyClass { const int mya; int& myb; MyClass(int a, int& b) :mya(a), myb(b 阅读全文
posted @ 2023-07-05 09:27 CodeMagicianT 阅读(200) 评论(0) 推荐(0)
摘要: # 58.类成员初始化方式?构造函数的执行顺序 ?为什么用成员初始化列表会快一些? ## 1.类成员初始化方式 ### 1.1初始化方式一:默认时初始化 如果类成员没有被显式初始化,将会使用默认初始化。默认初始化指没有提供初始化式的情况下,将使用默认值进行初始化。对于基本数据类型(如整数、浮点数等) 阅读全文
posted @ 2023-07-04 22:35 CodeMagicianT 阅读(480) 评论(0) 推荐(0)
摘要: # 57.malloc、realloc、calloc的区别 malloc、realloc和calloc是C语言中的内存分配函数,它们有以下区别: 1.内存来源:malloc和realloc分配的内存空间位于堆中,而calloc在分配内存空间后会将其每一位都初始化为零,它也被称为“零初始化内存分配器” 阅读全文
posted @ 2023-07-04 19:42 CodeMagicianT 阅读(1465) 评论(0) 推荐(0)
上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 58 下一页