【发布时间】:2021-02-08 18:50:27
【问题描述】:
什么意思:
typedef uint64_t uint64_t;
我在全局命名空间中的纯源代码中找到了它,而不是经过预处理的源代码。如果将来应该使用其他类型,它可以只是一个占位符吗?
【问题讨论】:
-
无上下文难说,请发minimal reproducible example
-
在给定的非类范围内,typedef 说明符可用于重新定义在该范围内声明的任何类型的名称,以引用它已经引用的类型。(来自 C++17 标准草案)。不知道这实际上是什么意味着。
-
这是一个合法的结构——见timsong-cpp.github.io/cppwp/n3337/dcl.typedef#3。目前还不清楚为什么有人会这样做。
-
这没有任何意义。这行代码存在的原因有1001种可能的解释,但是没有用。
-
它是否被包含在命名空间中?将等效定义从外部范围拉到内部范围是一种有效的方法。例如,这就是
cstdint将这些别名放入std命名空间的方式。