C++ 计算特殊符号的语法
你好,我想知道这是什么意思,这是什么符号C++ 计算特殊符号的语法,c++,C++,你好,我想知道这是什么意思,这是什么符号 fakecalss f1("getName", Type::STRING, AC::PUBLIC); 我知道它正在调用假类的构造函数,但是Type::STRING是什么意思?这是如何实现的?Type和AC是任何命名的作用域(如果没有看到它们的声明,就不可能对其进行详细说明;每个可能是名称空间、类类型或枚举类,或者可能是具有关联作用域的类型的typedef)STRING是名为Type的作用域中的名称(可能是常量),PUBLIC是名为AC的作用域中的名称(
fakecalss f1("getName", Type::STRING, AC::PUBLIC);
我知道它正在调用假类的构造函数,但是Type::STRING是什么意思?这是如何实现的?
Type
和AC
是任何命名的作用域(如果没有看到它们的声明,就不可能对其进行详细说明;每个可能是名称空间、类类型或枚举类,或者可能是具有关联作用域的类型的typedef)STRING
是名为Type
的作用域中的名称(可能是常量),PUBLIC
是名为AC
的作用域中的名称(可能是常量)
当然,所有这些都是在假设这些都不是宏的情况下进行的
有几种可能性都会使Type::STRING
成为合法的代码(具有不同的语义,出于说明目的,我还添加了另一个值Type::INTEGER
):
- 命名空间中的正常常量:
namespace Type { int const STRING = 0; int const INTEGER = 1; }
namespace Type { enum foo { STRING, INTEGER }; }
- s命名空间中的正常枚举:
namespace Type { int const STRING = 0; int const INTEGER = 1; }
namespace Type { enum foo { STRING, INTEGER }; }
- 结构中的静态常量:
struct Type { static int const STRING = 0; static int const INTEGER = 1; };
struct Type { enum { STRING, INTEGER }; };
- 结构中的普通枚举:
struct Type { static int const STRING = 0; static int const INTEGER = 1; };
struct Type { enum { STRING, INTEGER }; };
- 仅限C++11及更高版本:枚举类:
enum class Type { STRING, INTEGER };
请注意,此列表并非详尽无遗。好吧,我们不知道
类型是什么。它是在代码中的某个地方定义的,您还没有展示给我们。一旦找到类型
,就可以找到字符串
的嵌套声明。它可能是枚举类类型吗?我的一个代码中有类似的内容。右键单击fakeclass,选择go to declaration,将代码粘贴到此处。您好,我想了解更多有关如何创建名称常量的信息。问题是,我必须创建一个代码,让它能够工作。因此,正如你所看到的,我也有同样的困惑。非常感谢。我想知道如何在不使用数组、向量或列表的情况下存储对象。如果可能的话。