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

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

членам?

35 ответов

17 просмотров

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

чтобы не получилось чего-то такого 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?

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта