微控制器C++编程中的自定义内存管理
1. 动态内存分配的考量
在C++编程里,动态内存分配十分有用,特别是在创建多态对象时。 new 和 delete 运算符可用于动态内存的分配与释放。 new 运算符从存储池(堆)为对象分配内存,并返回指向该对象的指针。若分配成功, new 会使用构造函数初始化内存,并返回新分配初始化对象的非零地址。若堆中内存不足, new 要么返回零,要么抛出 std::bad_alloc 异常(取决于所使用的 new 版本)。调用 delete 对用 new 分配的内存块进行操作时,会调用对象的析构函数销毁对象并释放内存。
以下是 new 和 delete 的语法示例:
class something
{
public:
something() { }
~something() { }
void do_my_thing() { }
};
void do_something()
{
// 使用 new 运算符分配 ps
something* ps = new something;
// 对 ps 进行操作
ps->do_my_thing();
// 完成后删除 ps
delete ps;
}
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



