Здравствуйте, Ночной Смотрящий, Вы писали:
V>>Сложность автокомплита, навигации и рефакторинга С++ в сравнении с C# или Java возражений никогда не вызывала.
НС>С ченм ты тогда споришь?
Спорил ты, я лишь озвучил ситуацию де-факто — сегодня язык С++ третий в мире по наличию ср-в помощи разработчику.
И первый по наличию ср-в анализа кода, в т.ч. бинарного, включая false sharing и прочие такие вещи, серьезно влияющие на производительность многопоточных программ.
И я не собирался спорить с тем, что бывают еще языки, где можно прикрутить рефакторинг более дешево, тот же Паскаль/Оберон.
V>>Сложность эта заключается в системе препроцессора, который подключает файлы через include и раскрывает макроопределения.
НС>И в плюсовых темплейтах.
Реальные подстановки темплейтов в системе проектов Решарпер и CLion отслеживают.
V>>Напомню, что в C# тоже есть возможность подключать одни и те же физические файлы в разные проекты
НС>Не в C#, а в VS.
Да, речь как раз о среде разработки.
НС>И с точки зрения решарпера это просто два разных файла.
Верно.
Но потенциальные возникающие конфликты всё-равно приходится разруливать, т.е. задача тем или иным способом решаемая.
Ну и, это слишком редкий сценарий даже в С++ проектах, когда один и тот же заголовочный файл подключается в разных местах с разной семантикой.
Это обычно для каких-нить таблиц парсеров или таблиц метаинформации для систем обмена сообщениями (т.е. всё-равно таблиц специфических парсеров).
Доля такого кода в целом по С++ нише погоды не делает.