Могу сказать тоже самое про Нижний Новгород, преподаватели, которые давно работают и получают неплохо. Я лично видел зарплатный лист. Ни о каких 12 тысячах там и речи нет. Если у Вашего профессора такая зарплата, то проблема где-то явно не в государстве.
В CRT, с C++11, входит и поддержка мультипоточности, как это вырезать я не понимаю. Да и зачем тогда использовать VC, если вырезать всё то, что он даёт?
P.S. «общесистемные ценности» тоже могут использовать новые функции, к примеру новые методы работы с кучей(я не знаю есть ли таковые) и т.д. Факт есть факт, приложения собранные под MSVC2012 не стартуют в XP.
P.S про которые алгоритмы stl вы говорите, ксттаи. Почти все алгоритмы могут принимать comparator, а следовательно можно свободно использовать boost.locale с stl
Для QString и ICU это будут методы QString и UnicodeString. В случае использования boost.locale это будут внешние методы над строками, что сильно затруднит чтение кода.
Внешние по отношению к чему? семантически они являются дополняющими, а не внешними, а, следовательно, в терминах ООП являются частью сущности. В чем сложность использования функции вместо метода мне вообще не ясно. Ну да ладно, тут нет никакой математической правды, о которой спорить. Вы можете упираться про неудобство до посинения и я всё равно ничего не смогу сказать объективного в ответ.
Для Windows при минимальном использовании WinAPI/COM/whatever таких «внешних выходов» будет дофига и больше. ИМХО, это будет архитектурное решение, порождающее избыточное количество кода, который не имеет отношения к решаемой задачи а служит клеем между абстракциями. Как показывает практика, такой код труднее читать и поддерживать — тривиально больше кода.
Что значит «вообще везде»? У кода есть ядро, есть внешние выходы. Вот на внешнхи выходах и конвертируем, в чем проблема-то? Если не создавать себе лишних проблем, то они и не появляются.
Плюс, как в таком случае делать операции вида «заменить три последних символа»? Все с помощью boost.locale?
Если Вас устраивает делать это с помощью QString, почему бы не использовать boost.locale, тогда?
С чего бы вдруг? Во множестве языков нет регистро-зависимых преобразований, типа уже описанной Вами SS. Да и преобразование происходит верно как в icu, так и в boost.locale его использующим.
Я не знаток немецкого языка, но во всех примерах есть пример с SS, но я впервые у Вас увидел, что у ß есть односимвольная версия верхнего регистра. Вы не ошибаетесь случаем?
Хотя тестировать приватные члены не правильно.
Кстати, я полагаю, Вы имели ввиду mutable, а не volatile
P.S. «общесистемные ценности» тоже могут использовать новые функции, к примеру новые методы работы с кучей(я не знаю есть ли таковые) и т.д. Факт есть факт, приложения собранные под MSVC2012 не стартуют в XP.
Каким образом Вы избавитесь от пролога CRT?
Внешние по отношению к чему? семантически они являются дополняющими, а не внешними, а, следовательно, в терминах ООП являются частью сущности. В чем сложность использования функции вместо метода мне вообще не ясно. Ну да ладно, тут нет никакой математической правды, о которой спорить. Вы можете упираться про неудобство до посинения и я всё равно ничего не смогу сказать объективного в ответ.
Как QString решит данную проблему?
Если Вас устраивает делать это с помощью QString, почему бы не использовать boost.locale, тогда?
Я не знаток немецкого языка, но во всех примерах есть пример с SS, но я впервые у Вас увидел, что у ß есть односимвольная версия верхнего регистра. Вы не ошибаетесь случаем?