наследование — Как запросить функцию C ++?

Как я могу запросить функцию C ++?
Кому я должен написать?

Функция, которую я хотел бы запросить, является простым синтаксическим товаром:
При использовании композиции нам нужен лучший синтаксис для обеспечения пересылки методов.

Примерно так:

class Object{
InnerObject* inner;
public:
using inner->method; //<-- here
};

Такая функция побудит людей использовать композицию вместо наследования для повторного использования объекта.

Примечание. Например, это можно смоделировать с помощью MACROS, как показано здесь { Пересылка метода с композицией вместо наследования (с использованием черт C ++)}.

0

Решение

Вероятно, так что это неправильное место для вашего вопроса (программисты может быть лучше для этого). Тем не мение:

  • запросить новую функцию C ++ нереально, если только вы не являетесь всемирно известным экспертом C ++.
  • Вы могли бы исправить некоторые компиляторы C ++ (например, Clang / LLVM или же НКУ) реализовать вашу функцию и опубликовать этот патч как бесплатное программное обеспечение (чтобы другие могли его попробовать); вам также нужно написать некоторый код, используя вашу функцию.
  • Вы могли бы позже связаться с кем-то из Комитет по стандартизации ISO C ++!

Все это займет у вас много лет!

Заметить, что C ++ 14 это огромный язык (его документ спецификации — см. проект n3797— достаточно тяжел, чтобы убить кого-то, кто его бросил), и я думаю, что существует серьезное социальное и экономическое давление, чтобы избежать его увеличения.

Имейте в виду, что некоторые очень талантливые люди работали несколько лет, чтобы предложить новые функции для C ++, которые в конечном итоге были отклонены (или отложены на многие годы)!

(например, Google для «концепций в C ++» или «модулей в C ++»).

Кстати, вы могли бы иметь более прагматичный подход к вашей проблеме. Иметь специализированный генератор кода C ++, соответствующий вашим потребностям (этот генератор может быть как макропроцессор GPP или же m4, какой-то специализированный скрипт в питон или же Awk, или какая-то внешняя программа, такая как ANTLR или Qt’s MOC, или даже переводчик с другого языка на C ++, например ПЛАВИТЬСЯ…).

2

Другие решения


По вопросам рекламы [email protected]