Наша команда только что столкнулась с проблемой, описанной здесь http://forums.codeguru.com/archive/index.php/t-514404.html., то есть вызов some_vec.resize(new_size)
, где N = new_size - some_vec.size()
с N >= 2, и VC10 по умолчанию -построил все N новых элементов, тогда как GCC по умолчанию создал один элемент в качестве прототипа , чтобы скопировать -построить его N раз для новых элементов.
Поскольку это вектор uuid, где конструктор по умолчанию -случайным образом инициализирует каждый новый экземпляр, мы получили N раз один и тот же uuid с GCC и N разных uuid с VC. Этого было достаточно, чтобы посеять хаос в нашем тестовом наборе на одной платформе, но не на другой, и это было неинтересно.
Таким образом, мой вопрос :кто прав? ВК или GCC? Или это один из тех любимых уголков C++, который не указан? ТИА, --ДД