小编Dee*_*pak的帖子

sigaction结构和功能

以下代码编译,

struct sigaction sa;
memset (&sa, 0, sizeof (sa));
sa.sa_handler = &handler;
sigaction (SIGRTMIN + 5, &sa, NULL);
Run Code Online (Sandbox Code Playgroud)

但如果我省略struct它会给我错误:

预期';' 在'sa'之前

我正在使用c ++,其中使用struct关键字不是必需的.

我用它时它是如何工作的struct.

c++ linux signals

2
推荐指数
1
解决办法
1202
查看次数

破坏QObjects

我的程序有时会在main函数的最后一个语句中给出Segmentation Fault.

return a.exec();

我认为问题在于破坏的顺序.Qt文档说明了这一点

无论破坏的顺序如何,都不会删除QObject两次.

但是当我尝试使用代码时,它会给出分段错误.

QWidget* first = new QWidget;
QWidget* second = new QWidget(first);
delete first;
delete second;
Run Code Online (Sandbox Code Playgroud)

我知道什么时候first被删除,它second也会删除它的孩子.

那么为什么文档说破坏的顺序无关紧要?

我们应该总是小心删除子对象吗?

我正在使用QNetworkAccessManager下载文件,当文件下载完成时我想删除Downloader继承QObject到空闲内存的对象.但如果我删除它会导致分段错误.

c++ qt

1
推荐指数
1
解决办法
5760
查看次数

标签 统计

c++ ×2

linux ×1

qt ×1

signals ×1