А вы знаете особенности используемого вами компилятора C++? Наверняка. А компилятора стороннего производителя? А gcc? :) Интересно, почему я это спрашиваю? Потому что недавно мы с командой участвовали в очередном соревновании по спортивному программированию, и на тестирующем сервере были только свободные компиляторы: gcc, freepascal и т.п., а вот на машинах участников стояла винда… И, естественно, компиляторы тоже были «виндовые». В общем, в качестве среды разработки стояла Visual C++ Express. Казалось бы, ну и что?! Но это вылилось в постоянную борьбу с компилятором за то, чтобы наше решение наконец-таки скомпилировалось на сервере. У нас, естественно, все работало. Так я узнал некоторые особенности gcc по сравнению с Visual C++, чему и посвящен этот пост.