Якобы-указатель на элементы внутри класса

В этой теме мной будет применяться авторский термин: мнимый указатель. Этот термин не технический, а используется только потому что то, что должно бы быть по логике указателем, и не указатель вовсе.

Указатели, которые указывают на данные класса: на функции объекта или на переменные, хранимые внутри объекта — указателями и не являются. Возможно, кому-то приходило в голову создать указатель на функцию внутри класса, а сообразить не удавалось, как такое провернуть.

  • Использовать обычный указатель для указания на части класса нельзя

По поводу применения такой возможности ведутся некоторые споры: кто-то говорит, что это полезно, кто-то говорит, что совершенно ненужная и вредная возможность языка. Я не знаю, чем это хорошо или чем плохо, для меня сиё просто некоторое знание о синтаксисе языка, которое лишним не будет. Ради интереса можете попробовать создать класс:

И вне класса создать некое подобие указателя на x и на foo. Не только создать, но и вызвать. Это возможно.
Для спортивного интереса я прячу ответ под спойлер: так те, кому интересно возиться, изучая язык, смогут немного поэксперементировать.

Я не имею никакого опыта в программировании, но мне ведь можно иметь свою точку зрения? То, что это напоминает выворачивание кишков наружу из здорового организма, способствует моему пониманию: всё это плохо! Конечно кто-то такое проделывает, но многие опытные программисты пишут о том, что за многие годы практики никогда не использовали этот приём.

У этого приёма много минусов: трудно читать, легко ошибиться, нужно очень серьёзное внимание к написанию кода и особое внимание к пониманию того, что делаешь. Это только те минусы, которые я сумел вывести в процессе написания текущей статьи, минусы наверняка ещё есть. И похоже, что количество минусов перевешивает количество плюсов, плюсы найти вообще очень трудно, поэтому могу посоветовать никогда этого не использовать, а просто знать, что язык С++ позволяет такое творить.

К тому же в этой статье показаны простые примеры, мой беглый взгляд в окошки интернета дал мне знать, что очень многие описывают это сложнее, чем показываю я. Мне остаётся надеяться, что этот материал кому-то будет интересен, окажется полезным и время на написание этой статьи было потрачено мной не зря. Но учтите, что ограничиваться этой страницей не стоит, нужно обязательно смотреть, что другие люди об этом всём пишут. Так ваша картина мира будет более полной.

Все комментарии на сайте проверяются, поэтому ваш комментарий может появиться не сразу. Для вставки кода в комментарий используйте теги: [php]ВАШ_КОД[/php]

Добавить комментарий

Ваш e-mail не будет опубликован.

Поиск

 
     

Случайная книга в электронном формате

https://www.litres.ru/golden-krishna/horoshiy-interfeys-nevidimyy-interfeys-19057890/?lfrom=15589587
Яндекс.Метрика
НАГРАДИ АВТОРА САЙТА
WEBMONEY
R375024497470
U251140483387
Z301246203264
E149319127674

Народная примета: если программист в 9.00 утра на работе, значит, он там ночевал...

Выражаю свою признательность

  • Максиму очень признателен за указание на мои ошибки и неточности.
  • Sergio ===> за оказание помощи в исправлении моих ошибок
  • Gen ===> за правильное стремление помочь другим новичкам и выявления моих ошибок