реклама на сайте
подробности

 
 
> C++ доступ к членам класса через this->, чем чревато злоуотребление?
sigmaN
сообщение May 14 2018, 07:23
Сообщение #1


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Один мой товарищ( как говорится, не к ночи будет помянут сей язык, бывший PHPшник) в C++ коде для AVR8 везде лепит this->

Вот пример его кода https://pastebin.com/hqyYcQYh

Аргументирует он это тем, что так якобы понятнее, что это член класса.
Хотя, конечно-же, это решается нэймингом.

В общем-то на C++ так никто не пишет, но хотелось бы привести весомые аргументы почему именно.

Первый аргумент, который я привел: this это указатель. Используя его мы подрезаем ноги оптимизатору, который, как я понимаю, на много аккуратнее относится к оптимизации indirect access
И может быть в каких-то простых случаях он этот this и упразднит, но тем не менее.

Может быть у кого-то еще есть аргументы? Мне даже самому стало интересно. Уже который год эта тема у нас с ним регулярно поднимается. Прям холливар Сишника и бывшего ПХПшника biggrin.gif


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение May 15 2018, 07:51
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (jcxz @ May 15 2018, 08:28) *
Стараюсь не делать глобальных функций и член-методов с одинаковыми именами

QUOTE (Forger @ May 15 2018, 08:35) *
А я вообще не использую ничего глобального.
Сначала заклевали неизвестного автора за безобидный this, потом насыпали своих фобий про глобальную область видимости sm.gif


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Forger
сообщение May 15 2018, 10:00
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(Сергей Борщ @ May 15 2018, 10:51) *
Сначала заклевали неизвестного автора за безобидный this, потом насыпали своих фобий про глобальную область видимости sm.gif

Судя по автору (число постов, статус), не удивлюсь, что целью этой темы был очередной "холивар" wink.gif
Естественно подключились соответствующие "персонажи" ...
Это кто ж откажется-то от участия в таком "событии" ?!


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sigmaN   C++ доступ к членам класса через this->   May 14 2018, 07:23
- - AlexRayne   Цитата(sigmaN @ May 14 2018, 10:23) Может...   May 14 2018, 07:45
- - novikovfb   ИМХО, ставить везде this-> равносильно избыточн...   May 14 2018, 07:47
- - Сергей Борщ   Согласен со всеми - с одной стороны защищает от со...   May 14 2018, 08:09
- - Kabdim   расскажите ему о (*this).something .   May 14 2018, 09:10
- - k155la3   Видать человек при переходе на С(++) походил по с...   May 14 2018, 09:17
- - tabr   Объясню, почему я так делаю... Код: Кодclass Class...   May 14 2018, 09:50
|- - k155la3   Цитата(tabr @ May 14 2018, 12:50) Код: . ...   May 14 2018, 17:33
|- - Forger   Если не ошибаюсь, то локальные методы/поля имеют п...   May 14 2018, 19:35
|- - jcxz   Цитата(Forger @ May 14 2018, 22:35) Если ...   May 15 2018, 05:28
|- - Forger   Цитата(jcxz @ May 15 2018, 08:28) Очень о...   May 15 2018, 05:35
|- - AlexandrY   Цитата(jcxz @ May 15 2018, 08:28) Очень о...   May 15 2018, 05:42
- - Forger   © "Масло масляное" В крайне редких случ...   May 14 2018, 10:49
- - esaulenka   Цитата(sigmaN @ May 14 2018, 10:23) Может...   May 14 2018, 11:50
- - Nixon   Да какие аргументы, в первой же строчке написано п...   May 14 2018, 14:02
- - jcxz   Цитата(sigmaN @ May 14 2018, 10:23) Первы...   May 14 2018, 14:06
|- - Сергей Борщ   QUOTE (Forger @ May 15 2018, 13:00) Судя ...   May 15 2018, 11:08
|- - Forger   Цитата(Сергей Борщ @ May 15 2018, 14:08) ...   May 15 2018, 11:19
- - k155la3   Эт не мы. Все с англичан началось, с ихним This_IS   May 15 2018, 11:07
|- - Сергей Борщ   QUOTE (k155la3 @ May 15 2018, 14:07) Эт н...   May 15 2018, 21:28
- - sigmaN   Никакого троллинга и холливара У меня с другом сос...   May 15 2018, 15:42
- - Forger   Цитата(sigmaN @ May 15 2018, 18:42) Никак...   May 15 2018, 16:07


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th August 2025 - 17:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016