在结构中定义常量

时间:2010-07-14 12:17:51

标签: c++ structure

如图所示,在结构内定义常量数据是否有任何特殊意义。这来自第三方图书馆。

typedef struct              
{           
    IntVB abc_number;           
    #define ABC_A   0x01    
    #define ADBC_E  0x02     
    IntVB asset;            
} StructA;

3 个答案:

答案 0 :(得分:6)

不是真的。它们可能在程序代码中为程序员提供了更好的意义。

这意味着这些常量可能与该struct容器中的项或结构的行为有关。

答案 1 :(得分:2)

同意@Luca Matteis。它们可能是在那里定义的,因为它们在代码中的那一点是相关的。编译器不会特别处理它们。特别是,它们可以在该结构之前定义并且工作方式相同。他们在里面没有任何意义。

但是,有一点需要注意,它们仅在定义之后才有效。所以它们不能在文件的早期使用。这可能很重要。例如,在此之前可以对它们进行不同的定义。 (这样做是个坏主意,但这是可能的。)

答案 2 :(得分:1)

不,可以在没有任何范围的情况下调用它们