static const int 和 static int const 有什么区别?

2023-12-07

In this answer使用的OP:

static int const var = 5;

在条件编译控制的上下文中。


使用之间有区别吗static const int and static int const?

例如:

static const int var;

vs.

static int const var;

我不知道暗示中间类型的技术static and const。有区别吗?


声明说明符的语法在 C 2018 6.7 1 中给出,它表明存储类的说明符(例如static)、类型(例如short or double)、限定符(例如const), 功能 (inline and _Noreturn),并且对齐可以以任何顺序出现。第 6.7 条中没有任何内容对说明符出现的顺序给出任何含义,因此我们可以假设说明符的任何组合都具有相同的含义,无论顺序如何。

在这方面唯一提到的“顺序”出现在 6.7.2 2 中,它说“……类型说明符可以以任何顺序出现,可能与其他声明说明符混合在一起。”所以你可以写long static int const long for static const long long int,就像你可以说“方形红色大房子”而不是“大方形红色房子”一样——没有规则反对它,但它会看起来很有趣对人们来说并可能会抛弃他们。

请注意,*表示一个指针,以及( and )对于分组或参数列表以及[ and ]for 下标不是声明说明符,并且不能使用声明说明符自由地重新排序。 (它们实际上是声明者,它是声明的独立部分声明说明符.)

然而,该标准在 6.11.5 中将在其他说明符或限定符之后使用存储类说明符描述为已过时:

将存储类说明符放置在声明中声明说明符开头以外的位置是一项过时的功能。

“过时”意味着该功能可能会在标准的未来修订版中考虑撤销(根据介绍第 2 段)。因此,编译器会发出警告以使用const static建议进行一项更改,以帮助为 C 的未来版本准备源代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

static const int 和 static int const 有什么区别? 的相关文章

  • 在 C# 中使用“using”关键字避免多次处置的最佳实践

    当变量是 IDisposable 时 我们有using关键字来管理处置 但是如果我们在方法中返回值怎么办 using twice StringContent stringToStringContent string str using St
  • 是否可以从 C++ 应用程序调用 C# 应用程序?

    我是一名编程学生 现在我已经上了两门 C 课程 这个学期我将参加我的第一门 C 课程 出于好奇 是否可以从 C 应用程序调用 C 应用程序 如果是的话 是否还可以检查运行该程序的计算机是否具有 NET框架 我只是很好奇 我想如果可能的话 这
  • C free() 是如何工作的? [复制]

    这个问题在这里已经有答案了 可能的重复 malloc 和 free 如何工作 https stackoverflow com questions 1119134 how malloc and free work include
  • 进程退出后 POSIX 名称信号量不会释放

    我正在尝试使用 POSIX 命名信号量进行跨进程同步 我注意到进程死亡或退出后 信号量仍然被系统打开 在进程 打开它 死亡或退出后是否有办法使其关闭 释放 早期的讨论在这里 当将信号量递减至零的进程崩溃时 如何恢复信号量 https sta
  • 将 OpenCV Mat 转换为数组(可能是 NSArray)

    我的 C C 技能很生疏 OpenCV 的文档也相当晦涩难懂 有没有办法获得cv Mat data属性转换为数组 NSArray 我想将其序列化为 JSON 我知道我可以使用 FileStorage 实用程序转换为 YAML XML 但这不
  • 全局使用和 .NET Standard 2.0

    我最近意识到我可以使用 C 10 功能文件范围的命名空间在 NET Standard 2 0 项目中也可以通过设置
  • while循环中的变量初始化

    我有一个可以分块读取文件的函数 public static DataObject ReadNextFile 数据对象看起来像这样 public DataObject public string Category get set And ot
  • 为什么需要数字后缀?

    C 语言 我确信还有其他语言 需要在数字文字末尾添加后缀 这些后缀指示文字的类型 例如 5m是一个小数 5f是一个浮点数 我的问题是 这些后缀真的有必要吗 或者是否可以从上下文中推断出文字的类型 例如 代码decimal d 5 0应该推断
  • 在 C# 中何时使用 ArrayList 而不是 array[]?

    我经常使用一个ArrayList而不是 正常 array 当我使用时 我感觉好像我在作弊 或懒惰 ArrayList 什么时候可以使用ArrayList在数组上 数组是强类型的 并且可以很好地用作参数 如果您知道集合的长度并且它是固定的 则
  • 子目录中的头文件(例如 gtk/gtk.h 与 gtk-2.0/gtk/gtk.h)

    我正在尝试使用 GTK 构建一个 hello world 其中包括以下行 include
  • 如何使用递归查找数字中的最小元素 [C]

    好的 所以我正在准备我的 C 考试 当谈到递归时我有点卡住了我是大学一年级的学生 这对我来说似乎有点困难 练习要求在给定的数字中使用递归函数我需要找到最小的元素 例如 52873 是 2 程序需要打印 2 include
  • C++ 到 C# 事件处理

    所以我有我的C WinForm 应用程序 我从中调用我的C CLI MFC dll图书馆 但也有一些events在我的 C 库上 甚至此事件也发生在该库的本机 非 CLI 部分 我需要从我的 C 应用程序调用一些代码 并获取一些有关此事件的
  • 使用多线程进行矩阵乘法?

    我应该使用线程将两个矩阵相乘 有两件事 当我运行程序时 我不断得到 0 我还收到消息错误 对于每个错误 它在粗体行上显示 警告 从不兼容的指针类型传递 printMatrix 的参数1 我尝试打印输出 还要注意 第一个粗体块 这是我解决问题
  • doxygen c++:记录由“using”声明公开的私有继承成员

    作为一个例子 我有以下课程 class A public void methodOne class B private A public Brief description using A methodOne 我还没有找到强制 doxyge
  • 为什么 f(i = -1, i = -1) 是未定义的行为?

    我正在读关于违反评估顺序 http en cppreference com w cpp language eval order 他们举了一个令我困惑的例子 1 如果标量对象上的副作用相对于同一标量对象上的另一个副作用是无序的 则行为未定义
  • 在哪里可以下载没有 Visual Studio 2010 的 C# 4.0 编译器?

    我知道 CTP VS 2010 映像 但我可以只下载 NET Framework 4 0 和 C 编译器吗 AFAIK VS 2010 CTP 仅作为 VM 映像提供 我不相信 Microsoft 发布了 VS 的安装程序 其中一个绝对不适
  • 如何将 int 作为“void *”传递给线程启动函数?

    我最初有一个用于斐波那契变量数组的全局变量 但发现这是不允许的 我需要进行基本的多线程处理并处理竞争条件 但我无法在 pthread 创建中将 int 作为 void 参数提供 我尝试过使用常量指针 但没有成功 由于某些奇怪的原因 void
  • 将 Swagger 与命名空间版本的 WebApi 结合使用

    我已经找到了如何使用基于名称空间的 WebAPI 版本这个班 https aspnet codeplex com SourceControl changeset view dd207952fa86 Samples WebApi Namesp
  • 使用 C# 动态创建按钮并按预定义的顺序放置它们

    NET 4 5 C 创建 Windows 窗体 我想动态创建和添加按钮并为其分配单击事件 但希望它们以特定的方式动态放置 就像图像一样 我的问题是如何以上述方式动态放置按钮 即 4x4 格式 一行 4 个按钮 4 列 但行数不受限制 是否可
  • 如何提高环复杂度?

    对于具有大量决策语句 包括 if while for 语句 的方法 循环复杂度会很高 那么我们该如何改进呢 我正在处理一个大项目 我应该减少 CC gt 10 的方法的 CC 并且有很多方法都存在这个问题 下面我将列出一些例如我遇到的问题的

随机推荐

  • 将整数列表分配给 @var

    I can declare idOrder int set idOrder 21319 I want declare idOrder int set idOrder 21319 21320 用于 WHERE 子句使用 IN 运算符的一系列语
  • JPackage 只能用于一个应用程序?

    我有一个 java 应用程序 在运行时将生成另一个 JVM 但我想使用 jpackage 打包我的应用程序 它运行得很好 但在运行时 当我的应用程序尝试使用以下命令调用下一个 JVM 时 File javaHome new File Sys
  • 了解投影矩阵

    我试图了解投影向量的值范围是多少 看起来和MSDN说的不符 下面的代码输出一个彩色三角形 三角形完全可见 我期望在投影顶点之后 以下内容将成立 X和Y的范围是 1到1 Z的范围是0到1 我从这里得到这个信息 http msdn micros
  • 如何使用 pymongo 获取仅包含 ObjectId 的列表?

    我有以下代码 client MongoClient data base client hkpr restore agents collection data base agents agent ids agents collection f
  • 如何使用正则表达式提取 4 位数字

    我想提取后面的所有数字company id 部分并存储在变量中 我的字符串如下所示 String company company id 4100 data drm user id 572901936637129135 company id
  • 如何使用Pyarrow实现流式写入效果

    我拥有的数据是一种流数据 我想将它们存储到一个 Parquet 文件中 但是 Pyarrow 每次都会覆盖 Parquet 文件 那么我该怎么办呢 我尝试不关闭编写器 但这似乎是不可能的 因为如果我不关闭它 那么我将无法读取该文件 这是包
  • 访问文件时出错。网络连接可能已丢失

    因此 我使用 VBA 代码打开 Excel 文件 并将数据下载到包含代码的工作表中 它有效 现在我收到错误 访问文件时出错 网络连接可能已丢失 我打开代码看看它落在哪里 我以为文件可能已更改位置或名称已更改 当我浏览代码 使用 F8 时 我
  • 如何序列化java中实现的链表?

    我在网上读到 通过将派生对象声明为瞬态 可以省略派生对象的序列化 但是 在链表的情况下 链接是对象之间的内存引用 那么 我应该将其转换为数组并存储数组表示形式吗 Java 序列化的方式如下LinkedList 它获取所有元素并将它们写入Ob
  • 列表 - 如何查找某个项目出现的次数[重复]

    这个问题在这里已经有答案了 可能的重复 如何计算Python中列表项的出现次数 我正在进行一项民意调查 为此 我正在使用 Python 而我所坚持的部分是试图弄清楚如何计算特定事物 例如 杂货店 出现的次数 例如 民意调查 您最常在哪里看到
  • geohash 和最大距离

    前 6 个字符匹配的两个 geohash 两个 geohash 之间的距离最大为 0 61km 前 5 个字符匹配的两个 geohash 两个 geohash 之间的距离最大为 2 5km 问 5 位长度的给定 geohash 的任何一对边
  • CodeIgniter:解析位于 javascript 中的动态语言标题

    我有一个需要本地化的 JavaScript 代码 即 function js proc var some data this text needs to be translated dynamically at runtime 所以我这样重
  • 设置“可见性”后未获取“RelativeLayout get Height()”

    我想要的是 当我单击仪表板按钮时 它将像滑动抽屉一样打开 打开后再次单击它 它将关闭 我使用这个自定义抽屉是因为 SlidingDrawer 已弃用 现在的问题是 它工作正常 除了第一次单击按钮时 它会打开得非常快 没有任何动画 但会正常关
  • 有没有办法在Python Selenium中通过属性查找元素?

    我得到了这样的 html 片段
  • 使用 WMI 和 C# 的 CPU 使用率

    如何使用 WMI 在 C 中检索当前 CPU 使用情况 我看过很多使用性能计数器的帖子 但我需要一个可以与远程计算机一起使用的解决方案 我还找到了一个VB解决方案here 但如果可能的话 我更愿意在 C 中完成此任务 至少可以说 WMI 的
  • Rust 不接收来自 C++ 的 UDP 消息

    我正在使用 UDP 创建服务器 客户端范例 但 Rust 服务器未接收 C 客户端消息 我已经能够成功地进行 Rust 服务器 Rust 客户端和 C 服务器 Rust 客户端通信 这让我相信我的 C 代码存在问题 或者在将 C 缓冲区发送
  • 为什么 x86-64 汇编中参数存储在寄存器中而不是堆栈中?

    在 x86 32 汇编中 参数存储在堆栈中 但在 x86 64 中 参数存储在寄存器中 这是什么原因呢 访问 CPU 寄存器比访问 RAM 快得多 由于 64 位 CPU 有更多通用寄存器 与 64 位无关 只是因为它们更新 更大 因此使用
  • 如何使用有效的 CSS 来定位 IE7 和 IE8?

    我想使用符合 W3C 的 CSS 来定位 IE7 和 IE8 有时修复一个版本的 CSS 并不能修复另一个版本的 CSS 我怎样才能实现这个目标 使用 HTML 和 CSS 明确定位 IE 版本 无需破解 如果您不想对 CSS 进行修改 请
  • 构建Word字段

    除了将文本插入和解析到空白 Word 字段之外 是否有任何方法可以使用 VBA 以编程方式将用户定义的字段和字段代码构建到我自己的模板中 此外 有没有办法让这些字段显示在可用字段列表中 我最近开发了一个使用 Word 的 MACROBUTT
  • 使用后台线程从 url 加载注释。移动或缩放地图视图之前不会显示图钉

    我使用后台线程从 url 加载注释 在移动或缩放地图视图之前 图钉不会显示 我如何更新我的视图 我的观点确实出现了 void viewDidAppear BOOL animated super viewDidAppear animated
  • static const int 和 static int const 有什么区别?

    In this answer使用的OP static int const var 5 在条件编译控制的上下文中 使用之间有区别吗static const int and static int const 例如 static const in