【发布时间】:2015-02-26 05:10:41
【问题描述】:
我正在编写一个服务器应用程序。在 RIIA 之后,在我的一个类的构造函数中创建一个文件,并在析构函数中删除它。这个类被包裹在一个 unique_ptr 中。这是一个服务器应用程序,我只能通过向它发送信号 (SIGINT) 来杀死它。
奇怪的是,我在 unique_ptr 持有的类的析构函数上放置了 std::cerr 语句,并且在应用程序关闭/终止时不会调用它们。
当按下 ctrl+c 时这是预期的,还是我遗漏了与析构函数相关的明显内容?
【问题讨论】:
-
RIIA -> RAII(资源获取即初始化)
-
当你按下Ctrl-C时,你认为你的程序的控制流程是什么?
-
@BryanChen - 这是一个从 POCO 框架的 ServerApplication 实例调用的普通类。实际上,根本没有多少代码。
-
@KerrekSB - 我不知道。我猜操作系统会向进程发送信号并杀死它。