@Nekto2006

Есть ли смысл определять новые ключевые слова в c++?

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

Хотелось бы узнать, будет ли от этого только хуже или это повысит читаемость кода и сделает более приятным для восприятия?

#define dynamic auto
#define interface class
#define abstract = 0


interface ISomable
{
	/* Comment for this method. */
	void virtual CustomMethod() abstract;
};

dynamic vector = new int(2);
  • Вопрос задан
  • 657 просмотров
Решения вопроса 3
GavriKos
@GavriKos
Скорее всего будет сбивать с толку.
Ваш интерфейс ни разу не интерфейс - дефайном вы никак не запретите добавить в него реализацию.
Вообще такие дефайны опасны - а что если у меня имя переменной будет abstract?
Ну auto на dynamic вообще бесмысленно - калька с другого ЯП? А зачем? Букв больше, автоподстановка и ништряки IDE могут неадекватно переварить такое.
Ответ написан
Комментировать
EvilsInterrupt
@EvilsInterrupt
System programming, Reversing Engineering, C++
В чужой монастырь со своим уставом не ходят. (с) Не мое.

Я к тому, что программируя на C++ нужно с помощью тех способов и идиом, которые привычны ЛЮБОМУ программисту. Самое интересное, имея в своем репертуаре большое кол-во идиом вы приходите к той мысли, что простор для творчества более чем обширен.

dynamic, abstract : 1. Технически можно 2. Но не по плюсовы
Ответ написан
Комментировать
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Плохая идея. Может привести к очень неприятным ошибкам, если где-то использовать случайно. Ну, и все знают как нужно писать на C++, а к этому придется привыкать.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@iv_k
1. #define в плюсах - это зло
2. для плюсовиков ваш код будет не читаем
3. лучше привыкнуть к стандартным обозначениям плюсов
Ответ написан
Комментировать
AxisPod
@AxisPod
Ну уж нет, ни в коем случае. Учитывая, на что способен C++ вы сами себе усложните жизнь и понимание его синтаксиса. Вам же будет сложнее понимать чужой код.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы