小编Dan*_*ett的帖子

CurrentControlSet与ControlSet001和ControlSet002有何不同?

在Windows注册表中,如何CurrentControlSet从不同 ControlSet001ControlSet002?安装所有用户时应该设置哪个?

我们正在尝试为所有用户添加环境变量.它是否正确?

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Envinronment
Run Code Online (Sandbox Code Playgroud)

registry window

42
推荐指数
3
解决办法
6万
查看次数

编码恐怖或精彩创意的C++示例?

在以前的雇主,我们写的二进制消息必须"通过电线"到其他计算机.每条消息都有一个标准标题,例如:

class Header
{
    int type;
    int payloadLength;
};
Run Code Online (Sandbox Code Playgroud)

所有数据都是连续的(标题,紧接着是数据).我们希望得到有效载荷,因为我们有一个指向标题的指针.传统上,您可能会说:

char* Header::GetPayload()
{
    return ((char*) &payloadLength) + sizeof(payloadLength);
}
Run Code Online (Sandbox Code Playgroud)

甚至:

char* Header::GetPayload()
{
    return ((char*) this) + sizeof(Header);
}
Run Code Online (Sandbox Code Playgroud)

这看起来很冗长,所以我想出了:

char* Header::GetPayload()
{
    return (char*) &this[1];
}
Run Code Online (Sandbox Code Playgroud)

起初看起来相当令人不安,可能使用起来太奇怪 - 但非常紧凑.关于它是辉煌还是令人憎恶,有很多争论.

那么它是什么 - 犯罪编码,还是不错的解决方案?你曾经有过类似的权衡吗?

- 更新:

我们确实尝试过零大小的数组,但当时编译器发出了警告.我们最终采用了以下技术:消息来自Header.它在实践中很有效,但原则上你说的是一条消息IsA Header - 这看起来有点尴尬.

c++ syntax optimization

12
推荐指数
6
解决办法
2815
查看次数

标签 统计

c++ ×1

optimization ×1

registry ×1

syntax ×1

window ×1