- 博客(5)
- 收藏
- 关注
原创 c++动态内存分配
new int[10]的方式,执行逻辑是内存分配器可能会在分配的内存块之前或之后存储一些额外的信息,用于管理内存(如分配大小、内存对齐等),但这些信息不会被直接暴露给用户,如果直接delete 释放内存,则会导致多分配内存无法被释放,导致内存泄漏。不能delete已经delete的内存空间,因为第一次释放后,表示指向的内存被释放,原有的指针变为悬空指针(野指针的一种),再次释放可能会导致该指针指向的其他内存空间被释放,会导致不可预料后果。 释放多维数组,仍然用delete [] 的方式释放。
2025-03-24 20:45:00
376
原创 c++基础 inline关键字
从main入口进入,执行到函数时,会跳转对应函数,然后跳转回main函数后,每一次调用会发生两次函数跳转。减少函数调用开销:对于频繁调用的小函数,使用 inline 可以避免函数调用的栈操作开销,从而提高性能。inline关键字仅表示期望该函数被优化为内联函数,但是否适合内联规则则完全由编译器决定。调试困难:内联函数可能使调试变得更加困难,因为函数调用堆栈可能不明显。调试困难:内联函数可能使调试变得更加困难,因为函数调用堆栈可能不明显。调用普通函数,每个普通函数语句都需要发生跳转操作。递归函数不适合内联。
2025-03-24 19:45:00
172
原创 Apache Pulsar topic归属问题
作用是动态查找Topic在哪个broker上,如果一个Bundle被创建,它不会立即与Broker绑定,是需要通过Lookup机制进行Broker分配。 如果确认了裁判broker,并且裁判broker不是当前请求的broker,则会返回一个重定向,让客户端跳转到裁判broker。 得知归属broker后,client再请求对应的broker,改broker会尝试在zookeeper中写入一个节点,如果写入成功则说明归属成功,如果写入失败则说明Bundle被别的broker抢到了。
2022-08-24 22:07:39
773
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人