До недавнего времени использовал CodeLite + TDM GCC и был всем доволен.
Но, попробовав (речь идет о чистом C++, конечно же) Visual Studio был приятно удивлен мощью этой IDE.
Единственное, что меня волнует - качество MSVC студии.
Часто слышал, что он не полностью соответствует C++14.
При переносе пары проектов в неё, я сразу заметил разницу:
1) Разное содержимое одних и тех же хедеров
Например в TDM GCC
operator >>
для
std::istream
и
std::string
уже идёт с
<iostream>
(где то внутри его инклудов).
В студии нужно подключить
<string>
.
2) MSVC спокойно компилирует нечто вроде
std::cout<<std::string(
std::istream_iterator<char>(
std::ifstream("CppExpr.vcxproj")), std::istream_iterator<char>());
(MinGW выкидывает ошибку) , но при этом не компилирует код, если не-void функция не возвращает значение (MinGW компилирует).
3) Использование инициализации списком для структур (POD) с уже прединициализированными полями:
struct Point {
int X = 0;
int Y = 0;
};
Point A { 1, 2 };
Тут MinGW с -std=c++14 скомпилирует код, а MSVC - нет.
4) Ну и конечно же рантайм MSVC.
Даже не знаю, хорошо это или плохо.
В общем, прошу исходя из реального опыта сказать мне какой из компиляторов будет лучше.