我正在尝试使用 typedef 来简化一些重复的输入,但我需要它们是静态成员。
这有效。
struct SituationBank
{
typedef std::vector<std::string> WordType;
static WordType location;
};
这不是
struct SituationBank
{
typedef static std::vector<std::string> WordType;
WordType location;
};
我在网上四处搜寻并进行了试验,但我似乎找不到任何方法来标记带有多个单词的 typedef 语句。此外,无论出于何种原因,这样的事情都可以正常工作。为什么?
typedef unsigned long long int ulli;
最佳答案
static
是存储类说明符。它适用于对象或函数,而不适用于类型。
例如,给定:
static int i;
i
是 int
类型,而不是 static int
类型。对象 i
是静态的。
typedef
为现有类型创建别名,而不是为任意标记序列创建别名。 (后者是宏的用途,但它们会使您的代码难以阅读,因此在这种情况下我不推荐它。)
关于c++ - 使用多词类型定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46841106/