Ну, если Вы будете использовать указатели на свои классы рабочей лошади в Вашем Интерфейсном классе и не представите их как параметры или возвратите типы в Ваших методах интерфейса, Вы не должны будете включать определения для тех лошадей работы в Вашем интерфейсном заголовочном файле (Вы просто передаете, объявляют их вместо этого). Тем путем пользователи Вашего интерфейса не должны будут знать о классах в фоновом режиме.
Вы определенно не должны вкладывать классы для этого. На самом деле отдельные файлы класса на самом деле сделают Ваш код намного более читаемым и легче справиться, когда Ваш проект растет. также поможет Вам позже, если необходимо разделить на подклассы (скажите для различного содержания/типов кодека).
Вот больше информации о шаблон PIMPL (разделите 3.1.1).
Фиксация Cherry-pick в целевую ветку и сбросить исходную ветку. Предполагая, что вы хотите переместить последнюю фиксацию из ветки source
в target
, выполните:
git checkout target
git cherry-pick source
git checkout source
git reset --hard source^
Если фиксация не была последней, вам придется использовать git rebase -i
вместо последней команды и выберите конкретное имя фиксации для вашего вишневого выбора
.
Обычно, когда я делаю что-то подобное, я:
git diff HEAD ^ HEAD
)