是否可以将具有相同名称的变量声明到不同的结构中?例如:
struct first
{
int a;
int b;
int the_same;
};
struct second
{
int x;
int y;
int the_same
};
是否可以将具有相同名称的变量声明到不同的结构中?例如:
struct first
{
int a;
int b;
int the_same;
};
struct second
{
int x;
int y;
int the_same
};
是的,它们运行良好,因为它们属于不同的代码范围。您可以通过first.the_same
和访问它们second.the_same
。
[...] 范围是名称解析的重要组成部分,而名称解析又是语言语义的基础。名称解析(包括范围)因编程语言而异,并且在编程语言中,因实体类型而异。与命名空间一起,范围规则在模块化编程中是至关重要的,因此程序的一个部分的更改不会破坏一个不相关的部分。[...]
是的,您可以在不同的结构中使用具有相同名称的变量。
struct first
{
int a;
int b;
int the_same;
};
首先听到 a,b 和 the_same 是结构的元素。并且在结构上
struct second
{
int x;
int y;
int the_same
};
x,y 和 the_same 是第二个结构的元素。
编译器将不单独使用结构名称引用此变量..
有可能这样做。您可能认为这就像 Enums 一样,如果您在 2 个不同的枚举中具有相同的值,您将收到编译时错误,但如果枚举命名空间不同,这将是可能的。例如:
namespace a {
enum a { a, b, c }
}
namespace b {
enum a {a, b, c}
}