gpt4 book ai didi

c++ - C 变量可以声明为空吗?

转载 作者:行者123 更新时间:2023-11-30 04:01:16 25 4
gpt4 key购买 nike

存在如下所示的C++代码:

byte                _jfr_towrite      : 1,       // Flags
_caller_sensitive : 1,
_force_inline : 1,
_hidden : 1,
_dont_inline : 1,
: 3;

看到最后一行,很奇怪':'之前和','之后什么都没有。变量名什么也没有。代码来自jdk8/openjdk/hotspot/src/share/vm/oops/method.hpp line 113。我正在深入研究jdk,我需要帮助。

最佳答案

<name> : <size>指定位字段。代码中的五个命名变量中的每一个都占据一个位。剩下的三位被缺少名称的语法明确指定为未使用,

这不是可以对任何 C++ 变量执行的操作,只能对位域执行。您可以使用显示的语法在 struct 中的位字段中提供填充class ,而不创建未使用的命名字段。它不需要是 struct 中的最后一个字段或 class :您也可以在位域序列的中间创建填充。位字段的实际放置(包括任何填充)是实现定义的,因此相对于其他位字段放置它的位置并不重要。

关于c++ - C 变量可以声明为空吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25866186/

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