Отражение в C ++, я считаю, крайне важно, если C ++ будет использоваться в качестве языка для доступа к базе данных, обработки веб-сеансов / разработки http и GUI. Отсутствие отражения не позволяет ORM (таким как Hibernate или LINQ), синтаксическим анализаторам XML и JSON создавать экземпляры классов, сериализацию данных и многие другие значения (когда для создания экземпляра класса необходимо использовать изначально не типированные данные).
Можно использовать переключатель времени компиляции, доступный разработчику программного обеспечения в процессе сборки.
чтобы устранить эту проблему «вы платите за то, что используете».
Если разработчик прошивки не нуждается в отражении для чтения данных с последовательного порта - тогда нормально не используйте коммутатор. Но как разработчик базы данных, который хочет продолжать использовать C ++, я постоянно сталкиваюсь с ужасным, сложным в обслуживании кодом, который отображает данные между членами данных и конструкциями базы данных.
Ни Boost-сериализация, ни другой механизм на самом деле не решают отражения - это должно быть сделано компилятором - и как только это будет сделано, C ++ снова будет использоваться в школах и использоваться в программном обеспечении, которое занимается обработкой данных
Для меня это проблема № 1 (а примитивы с наивным потоком - проблема № 2).