Иногда вы хотите предоставить объявление класса, которое является не просто непрозрачным форвардным объявлением, но и публичной функциональностью, но вы не хотите фиксировать свои частные или специфичные для реализации поля и методы. Одним из решений для этого является pimpl idiom - использование указателя на внутренний класс, предусматривающий публичную реализацию класса.Есть ли предложение расширить язык C++, чтобы исключить pimpl?
Мне не очень нравится использовать pimpl и желаю, чтобы язык позволял вам иметь действительно-частные члены - так что код с использованием класса не «видит» их объявление (и, следовательно, вероятно, его не нужно перекомпилировать когда детали реализации меняются). Кроме того, в последнее время я заметил, что C++ развивается намного быстрее - трехлетний тик-тик в стандартных обновлениях. Итак ... есть ли предложение добавить такую функциональность к C++? Может быть, некоторые компиляторы в настоящее время поддерживают его?
Модули вдоль линий, что вы ищете? На них делается большая работа. – chris
Согласно [это резюме] (https://stackoverflow.com/questions/3596147/modules-in-c11) здесь, на SO, модули не совпадают с классами. то есть, похоже, что некоторые методы не могут принадлежать модулю, а другие нет. Или я ошибаюсь? – einpoklum
Я сомневаюсь, что будет предложение о чем-то столь же расплывчатом, как «обрывание прыща». – juanchopanza