小编use*_*407的帖子

避免/检测导出文件的操作

我正在使用C ++ Qt应用程序。为了在应用程序或所连接的设备出现故障时为用户提供帮助,该程序会导出所有内部设置,并将它们存储在一个普通文件中(此刻为csv)。然后将该文件发送给公司(例如,每封邮件)。

为了避免对导出的设置进行不注意的操作(例如,导出后由用户手动操作),我需要某种机制来检测到这一点。

该方法应尽可能简单,因为这不是非常关键的信息,但仍然有效。

我能想到的只是散列或加密,但是我很确定已经有一个简单而优雅的解决方案。

c++ security hash qt

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

类型转换

我真的不明白为什么我必须b在反演后对变量进行类型转换(一元operator ~).任何人都可以解释为什么需要它吗?

unsigned char a = 0xFF;
unsigned char b = 0x00; 

return (a == (~b));                //expected to return 1 but 0

...

return (a == (unsigned char)(~b)); //after typecast returns 1 as expected
Run Code Online (Sandbox Code Playgroud)

c logic casting

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

Lambda函数,分段故障防止

我有一个指向对象的指针,我传递给lambda函数.因为lambda函数在初始方法调用之后被调用1秒,所以该对象有时不再有效,从而导致分段错误.

在使用它之前,如何验证该项在lambda函数中是否仍然有效?

这是我使用lambda函数的方法的样子:

void myTab::myMethod(QStandardItem *item)
{
    QColor blue(0, 0, 128, 20); 
    QBrush brush(blue);
    item->setBackground(brush);

    //Restore background after 1000ms
    QTimer::singleShot(1000, [item, this]() mutable {
        item->setBackground(Qt::transparent);     //<-need some advice here
    });
}
Run Code Online (Sandbox Code Playgroud)

c++ lambda segmentation-fault

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

标签 统计

c++ ×2

c ×1

casting ×1

hash ×1

lambda ×1

logic ×1

qt ×1

security ×1

segmentation-fault ×1