У меня есть простой объект, который содержит некоторые [общедоступные] данные.Идентичные имена членов класса и имена аргументов аргументов в C++
Я хочу, чтобы мой интерфейс был чистым, поэтому я не хочу, чтобы до/после исправления чего-либо ссылались на имена общедоступных переменных или на имена аргументов моей функции.
То есть, я в конечном итоге делает что-то вроде этого:
template<typename T> struct Foo
{
explicit Foo(T x) : x(x) // This [i.e., x(x)] seems to be doing the "Right Thing", but is this well defined?
{/* ^
No pre-/post- fixing.
*/
}
T x; // No pre-/post- fixing.
};
Просто, чтобы подтвердить: Все, что я спрашиваю, является ли это определение поведения. Не следует ли мне это делать или не следует ...
Спасибо.
Этот же вопрос был задан около дня назад; извините, у меня нет ссылки. Ответ оказался таким, что да, он был четко определен. –
Спасибо, я догадываюсь, что пропустил это в своем поиске. Тогда я отвечу на ответ Пуаты. – eciDive
Я бы не использовал только потому, что вы должны задать вопрос. Тот факт, что это не значит читать, означает, что сопровождающий придет через год и скажет сено, которое не выглядит написанием, или исправить его, или потратить на то, чтобы убедиться, что он работает. Правило simpel не записывает код, который требует, чтобы вы задавали вопрос о погоде. –