上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 46 下一页
摘要: # 56.malloc与free的实现原理? 1.在标准C库中,提供了malloc/free函数分配释放内存,这两个函数底层是由brk、mmap、,munmap这些系统调用实现的; 2.brk是将数据段(.data)的最高地址指针_edata往高地址推,mmap是在进程的虚拟地址空间中(堆和栈中间, 阅读全文
posted @ 2023-07-04 13:52 CodeMagicianT 阅读(62) 评论(0) 推荐(0) 编辑
摘要: # 55.malloc申请的存储空间能用delete释放吗? 不能,malloc /free主要为了兼容C,new和delete 完全可以取代malloc /free的。 malloc /free的操作对象都是必须明确大小的,而且不能用在动态类上。 new 和delete会自动进行类型检查和大小,m 阅读全文
posted @ 2023-07-04 13:09 CodeMagicianT 阅读(263) 评论(0) 推荐(0) 编辑
摘要: # 54.new和delete的实现原理,delete是如何知道释放内存的大小的? 1、 new简单类型直接调用operator new分配内存; 而对于复杂结构,先调用operator new分配内存,然后在分配的内存上调用构造函数; 对于简单类型,new[]计算好大小后调用operator ne 阅读全文
posted @ 2023-07-04 13:02 CodeMagicianT 阅读(383) 评论(0) 推荐(0) 编辑
摘要: # 1.重载new和delete 尽管我们说能够 “重载new和delete",但是实际上重载这两个运算符与重载其他运算符的过程大不相同。要想真正掌握重载new和delete的方法,首先要对new表达式和delete表达式的工作机理有更多了解。 当我们使用一条new表达式时: ```C++ // n 阅读全文
posted @ 2023-07-04 13:00 CodeMagicianT 阅读(139) 评论(0) 推荐(0) 编辑
摘要: ==☀警告== ``` volatile的确切含义与机器有关,只能通过阅读编译器文档来理解。要想让使用了volatile的程序在移植到新机器或新编译器后仍然有效,通常需要对该程序进行某些改变。 ``` 直接处理硬件的程序常常包含这样的数据元素,它们的值由程序直接控制之外的过程控制。例如,程序可能包含 阅读全文
posted @ 2023-07-04 13:00 CodeMagicianT 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 在C++中,final是一个关键字,用于修饰类的成员变量和成员函数。 1.final修饰成员变量:当一个类中的成员变量被声明为final时,它就变成了常量,即它的值不能再被修改。final修饰的成员变量必须在类定义中进行初始化,且只能初始化一次。 假设我们有一个名为Person的类,其中包含一个成员 阅读全文
posted @ 2023-07-04 12:50 CodeMagicianT 阅读(33) 评论(0) 推荐(0) 编辑
摘要: # 53.delete p、delete [] p、allocator都有什么作用? 1、 动态数组管理new一个数组时,[]中必须是一个整数,但是不一定是常量整数,普通数组必须是一个常量整数; `delete p`是用于释放由`new`运算符分配的单个对象的内存。如果使用`new[]`运算符创建了 阅读全文
posted @ 2023-07-03 21:43 CodeMagicianT 阅读(304) 评论(0) 推荐(0) 编辑
摘要: # 51.深拷贝与浅拷可以描述一下吗? ## 1.浅拷贝 同一类型的对象之间可以赋值,使得两个对象的成员变量的值相同,两个对象仍然是独立的两个对象,这种情况被称为**浅拷贝。** 浅拷贝和深拷贝之间的区别:浅拷贝是指将对象中的数值类型的字段拷贝到新的对象中,而对象中的引用型字段则指复制它的一个引用到 阅读全文
posted @ 2023-07-03 21:42 CodeMagicianT 阅读(24) 评论(0) 推荐(0) 编辑
摘要: # 52.new和malloc的区别 **相同点** ●都可用于内存的动态申请和释放 ●new和malloc都可以分配指定大小的内存块,并且分配的内存都在堆上。 ●new和malloc的结果都返回一个指向已分配内存的指针。 ●都允许使用字面量作为参数来分配内存。 **不同点** ●前者是C++运算符 阅读全文
posted @ 2023-07-03 21:42 CodeMagicianT 阅读(57) 评论(0) 推荐(0) 编辑
摘要: # 50.从汇编层去解释一下引用 ``` 9: int x = 1; 00401048 mov dword ptr [ebp-4],1 10: int &b = x; 0040104F lea eax,[ebp-4] 00401052 mov dword ptr [ebp-8],eax ``` x的 阅读全文
posted @ 2023-07-03 21:41 CodeMagicianT 阅读(42) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 46 下一页