同じ名前の変数を異なる構造体に宣言することは可能ですか? 例えば:
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
。
[...] スコープは、名前解決の重要な要素であり、言語セマンティクスの基礎となります。名前解決 (スコープを含む) はプログラミング言語によって異なり、プログラミング言語内ではエンティティの種類によって異なります。名前空間とともに、スコープ ルールはモジュラー プログラミングにおいて重要です。そのため、プログラムの一部を変更しても、無関係な部分が壊れることはありません。[...]
そうすることは可能です。2 つの異なる列挙型に同じ値がある場合、コンパイル時エラーが発生する列挙型のようなものだと考えたことがあるかもしれませんが、列挙型の名前空間が異なる場合は可能です。例えば:
namespace a {
enum a { a, b, c }
}
namespace b {
enum a {a, b, c}
}