• 2024-04-04《C++程序设计》阅读笔记【2-程序结构】
  • 2023-09-12堆、栈与内存管理
    一、所谓stack,所谓heap stackobjects的生命期 staticlocalobjects的生命期 globalobjects的生命期 heapobjects1的生命期 二、new:先分配memory,再调用ctor 三、delete:先调用dtor,再释放memory 四、动态分配所得的内存块,inVC 灰色部分为调试mode下的d
  • 2023-09-01线程安全的对象生命期管理
     编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死不能由对象自身拥有的mutex保护。racecondition:在即将析构一个对象时,从何而知此刻是否有别的线程正在执行该对象的成员函数?如何保证在执行成员函数期间,对象不会在另一个线程被析构?在调用某个对象的