gpt4 book ai didi

c++ - 结构成员初始化

转载 作者:太空狗 更新时间:2023-10-29 23:42:11 24 4
gpt4 key购买 nike

在阅读 DirectWrite 源代码时,我遇到了以下结构:

/// <summary>
/// Line breakpoint characteristics of a character.
/// </summary>
struct DWRITE_LINE_BREAKPOINT
{
/// <summary>
/// Breaking condition before the character.
/// </summary>
UINT8 breakConditionBefore : 2;

/// <summary>
/// Breaking condition after the character.
/// </summary>
UINT8 breakConditionAfter : 2;

/// <summary>
/// The character is some form of whitespace, which may be meaningful
/// for justification.
/// </summary>
UINT8 isWhitespace : 1;

/// <summary>
/// The character is a soft hyphen, often used to indicate hyphenation
/// points inside words.
/// </summary>
UINT8 isSoftHyphen : 1;

UINT8 padding : 2;
};

请注意每个成员声明后的奇怪“:”。我将假定它是成员变量的默认初始化值。

我试着在谷歌上搜索以确认,但由于不知道它到底叫什么,所以我没有深入了解(大部分结果都与默认初始化有关)。

这项技术的名称是什么?

最佳答案

Notice the strange " : " after each member declaration. I'm going to assume it's a default initialisation value for the member variable.

这不是默认初始化。这意味着 breakConditionBefore 只是 2 位整数,isWhitespace1 位整数。等等。

DWRITE_LINE_BREAKPOINT中,一个8位整数(即UINT8)分为5个成员,其中3个是2位整数,2个是1位整数。

了解 Bit-fields

关于c++ - 结构成员初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5563861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com