百科问答小站 logo
百科问答小站 font logo



在内存特定位置填数据后,placement new 是否完全等价与cast? 第1页

  

user avatar   haozhi-yang-41 网友的相关建议: 
      

如果你能在其它方面良好配合的话,也不是不行:

例如说你本来需要在构造函数里打开一个文件,记录文件fd。现在就先把fd初始化为-1,然后在每个需要用的地方判断一下是否已打开。其他的一系列外部操作(包括但不限于进程、线程、共享资源、信号、系统调用、日志等)都可以用类似的“标记->延迟操作”的方式进行改动——这改动并不严格等价(尤其考虑并发环境),但仔细设计和规划整个流程的话,最终效果一致的目的是能达到的。

无非就是,这么干有悖于现在主流的RAII思想。除非有什么特别原因,不然一般都不这么干。




  

相关话题

  C/C++中,int a=15;a储存在哪? 
  为什么现在的电脑应用程序这么吃内存(RAM)? 
  简单c++项目在Windows和Linux下编译连接怎样使用同一个Makefile? 
  如何看待王垠对于内存管理的理解? 
  C++20有哪些让你激动不已的新特性? 
  C标准库的行业地位是怎么形成的? 
  有个人说C++程序入口是mainCRTStartup,另一个人说是main,然后打起来了,如何评理? 
  各位大佬都是怎么样学习C++的?能分享一下您的学习过程吗? 
  现在快2022年了,c++为什么还要实现(.cpp)和声明(.h)分开? 
  为什么C语言中计算机认为0是假的,其他数都是真的? 

前一个讨论
如何评价万科副总裁刘肖,因北方区域事业集团的违规违纪问题,被连降两级,并扣减1000万元奖金?
下一个讨论
如何看待成都防疫人员未检测核酸直接捕杀宠物?





© 2025-02-20 - tinynew.org. All Rights Reserved.
© 2025-02-20 - tinynew.org. 保留所有权利