Можно ли объявлять переменные с тем же именем в разные структуры? Например:Те же имена переменных в разные структуры
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
};
Да, они хорошо работают, как они относятся к разным code scopes. Вы можете получить к ним доступ по first.the_same
и second.the_same
.
[...] Область применения - важный компонент разрешения имен, который, в свою очередь, является фундаментальным для семантики языка. Разрешение имен (включая область) варьируется между языками программирования и на языке программирования, зависит от типа объекта. Вместе с пространствами имен правила определения области обзора имеют решающее значение в модульном программировании, поэтому изменение одной части программы не нарушает несвязанной части. [...]
Это можно сделать. Возможно, вы подумали, что это похоже на Enums, если у вас есть одинаковые значения в двух разных перечислениях, вы получите ошибку времени компиляции, но это будет возможно, если пространство имен enums отличается. например:
namespace a {
enum a { a, b, c }
}
namespace b {
enum a {a, b, c}
}
Что такое пространство имен? Я знаю только C и никогда не слышал об этом. –
О, простите об этом. Пространства имен - это функция, добавленная в C++. Это намерение состоит в создании новых областей в коде. –
@NOVIN В C правильное имя для пространств имен - это * перегрузка классов * –
Да, вы можете использовать переменную с тем же именем в другой структуре.
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 являются элементами второй структуры.
компилятор будет ссылаться в эту переменную там структура имени не по отдельности ..
Вместо того, чтобы спрашивать здесь, можно ли или нет, то почему бы вам не _compile_ код и увидеть его для себя? –
У меня уже было, и это работает, но мне нужны некоторые мнения, и я хочу знать, рекомендуется ли этому методу. –