dorfe
С чего вообще все берут, что SP2 обязательно будет? Это ж не Windows XP. Может всё первым ограничится.
001
не будет - не скачаем ;-)
SP1 к 2005 многое не исправил, а 2008 тем более.
dorfe
>SP1 к 2005 многое не исправил, а 2008 тем более.
Не факт, что 2008-я студия будет хуже 2005. Как заявляли представители майкрософта, Visual Studio 2005 был протестирован и отлажен внутренними специальными тестами с покрытием кода на 90%. Visual Studio 2008 будет протестирован с покрытием кода на 100%.
001
Бету 1 лучше не качать. Я видел ее уже. Там есть такие баги, например когда заходишь в настройки проекта, Visual Studio вылетает с ошибкой. А в целом продукт хороший намечается. Очень радует Multi-Targeting в .NET и IntelliSense для ява скрипта.
Пока хотябы RC1 не будет лучше не использовать в работе (так советуют сами представители МС, и я в этом случае им верю) но не использовать в работе и быть готовым к новой студии разница большая.
Кстати в тему http://www.gotdotnet.ru/Forums/Web/489923.aspx
Спросил и вот те на...
VC2008 мне установить не удалось. Даже номер ошибки не пишется. ПРосто написано, что не удалось. Фреймворк 3.5 устанавливается, а дальше установка отменяется.
Сегодня скачал Visual Studio 2008 Beta 2, поставил. Вроде стабильно работает. За исключением того, что редактор форм для WPF не работает вообще. Скорее всего это из-за того, что .NET Framework 3.5 криво встал. При установке было много варнингов
All
кто играется со свежей студией!
ответьте, плиз, на 2 простых вопроса... честное слово, поиск ответа не доставит вам никакого труда... а уж ответ может вообще уместиться в 2 символа (sic!)
1) БАГ (я настаиваю на том, что это именно баг, но...) в майкрософтовском stl. типичный пример - в vector видим
void resize(size_type _Newsize, _Ty _Val)
хотя явно должно быть
void resize(size_type _Newsize, const _Ty & _Val)
2) трабла с SSE - точнее = с sqrt_ss. но тут уже надо в ассемблер смотреть, так что не буду пудрить мозги тем, кому не в кайф...
> правка
вопрос, собственно в том - поправили или нет.
моя ставка - что нет, т.к. эти глюки у них живут со времен студии 6.0 и уже стали не столько багами, сколько бихейвором... только вот противным...
Lion007
1. Так было всегда. Просто в этот раз они ничего не изменили в данной функции
_zerg_
спасибо... вот только что значит "на этот раз не изменили"? у них кривой ресайз с сотворения мира, и они его никогда не меняли... я надеялся? что хоть сейчас починили - видимо, зря...
Lion007
Ресайз там правильный. Код для размышления:
vector<int> hundred; hundred.resize(100, 10); hundred.resize( 50, hundred[99]);
А оболочка Borland C++ 3.1 была САМОЙ удобной!!!
:)
В этой студии есть как минимум прогресс в использовании многоядер - теперь msbuild умеет параллелить таски.
Ghost2
идея понятна - забавно, пример такого типа мне в голову не приходил... хотя ресайз с уменьшением размера как раз сработает нормально, там филлер вообще не используется. вот при увеличении размера - возможны варианты.
проверил, как оно сделано (смотрел в хидер от VS.NET)
увеличение размера вектора происходит так
делай раз - аллоцировать новый массив
делай два - переписать то, что было
делай три - залить хвостик "филлером"
делай четыре - удалить старый массив.
так что можно спокойно передавать констовый референс вместо значения. тем более, что реально увеличение размера выполняется функциеий
void _Insert_n(iterator _Where, size_type _Count, const _Ty& _Val)
на случай жестокой паранойи (ну ООЧЕНЬ хочется иметь сугубо локальную копию филлера) все равно есть вариант типа
/*родной вариант от MS*/ void resize(size_type _Newsize, _Ty _Val) { // determine new length, padding with _Val elements as needed if ( size( ) < _Newsize) _Insert_n( end( ), _Newsize - size( ), _Val); else if ( _Newsize < size( )) erase( begin( ) + _Newsize, end( )); } /*параноидальная модификация с передачей филлера по ссылке */ void resize( size_type _Newsize, const _Ty & _Val) { // determine new length, padding with _Val elements as needed if ( size( ) < _Newsize) { _Ty tmp = _Val; _Insert_n( end( ), _Newsize - size( ), tmp); } else if ( _Newsize < size( )) erase( begin( ) + _Newsize, end( )); }
по сути - ровно те же яйца, но в профиль. только временная переменная создается не перед вызовом, а внутри (хотя и без нее все должно быть ОК)
а из полезных плюшек - с такой вариацией ресайза нормально можно складывать в вектор выровненые объекты. снабдив их, ясное дело, соответствующим аллокатором...
зы: что-то мы отвлеклись - тема-то про VS 2008 8)
Ghost2
> Ресайз там правильный.
Ресайз там НЕПРАВИЛЬНЫЙ. Код для размышления:
vector<vector<C3DObject> > hundred; hundred.resize(100, ...);
а) при уменьшении заполнитель непотребуется
б) при уменьшении наврядли произойдёт реалокация, в лучшем случае будут вызваны деструкторы лишних объектов
в) даже если предположить, что реалокация произойдёт, изначальный массив будет уничтожен после создания нового.
Тема в архиве.