170 похожих чатов

Ребят,А в чем преимущество использования указатедя this для доступа к

членам?

35 ответов

16 просмотров

Преимуществ нет, тебя всегда будут клеймить новичком, когда ты так делаешь

чтобы не получилось чего-то такого class C { public: int x; setX(int x){ x = x; } };

Liber Azerate
Нереальный кейс, ага

тут то это легко обнаружить

Egor Kulebyakin
чтобы не получилось чего-то такого class C { publi...

Во первых, в member init list-е даже с одинаковым названием такого не произойдёт. Во-вторых, никто не называет члены-данные и параметры одинаково. Ни один разумный человек, уточним

Egor Kulebyakin
чтобы не получилось чего-то такого class C { publi...

а параметры класса по умолчанию private ?

Не нужно ломать голову над конвенцией имён для членов класса, изменение имени локальной переменной никогда не сделает её случайно обращением к члену класса

Egor Kulebyakin
чтобы не получилось чего-то такого class C { publi...

Это решается не явным указыванием this, а включением хотя бы каких-то ворнингов в проекте

Liber Azerate
Во первых, в member init list-е даже с одинаковым ...

как ты предлагаешь назвать параметр, если я хочу показать, что мне нужна строка, к примеру. Но поле string у меня есть

Egor Kulebyakin
как ты предлагаешь назвать параметр, если я хочу п...

Назвать string – в принципе такая себе идея, учитывая то, что это название типа

Egor Kulebyakin
как ты предлагаешь назвать параметр, если я хочу п...

И да назвать _string или string_, раз уж нет такой конвенции для полей

Liber Azerate
Назвать string – в принципе такая себе идея, учиты...

только этот тип находится в п.и. std, а мой аргумент — нет

Liber Azerate
И да назвать _string или string_, раз уж нет такой...

подчеркивания в начале это кривая дорожка

Sergey Skvortsov
Это решается не явным указыванием this, а включени...

Не поможет. Как компилятор поймёт, что ты действительно именно к полям обращаться хочешь, а не к аргументам?

Vlad
подчеркивания в начале это кривая дорожка

Ну, это всё же не та область видимости

Sergey Skvortsov
Поможет, конечно

Продемонстрируйте, пожалуйста

Egor Kulebyakin
меня

Ты в игрушки играть пришёл или писать код нормальный?

Liber Azerate
Ты в игрушки играть пришёл или писать код нормальн...

И вообще, в любом нормальном кодстиле такое учтено. А писать в компании ты будешь по какому-то кодстилю

Liber Azerate
Ты в игрушки играть пришёл или писать код нормальн...

при чем тут игрушки? Я не люблю подчеркивания

Sergey Skvortsov
https://godbolt.org/z/v4x9Er4E8

Включаем -Werror, как должно быть в любом новом (и старом) проекте и все

Egor Kulebyakin
не красиво

Тогда std::string __std_string__; Так красивее

Liber Azerate
Ну, это всё же не та область видимости

в этом конкретном случае можно, конечно, но сам прецедент создание идентификатора с подчеркивания не очень для кодовой базы в целом, я считаю

Vlad
в этом конкретном случае можно, конечно, но сам пр...

Я бы сказал, прецедент создания идентификатора с названием _ – не очень. И то, что из-за этого сложности с введением дискардов только доказывает подобное

Snowden
.

где я там сказал, что они public?

Похожие вопросы

Обсуждают сегодня

Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
9
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
Карта сайта