В.NET различие между Dictionary<,>
и HashTable
, прежде всего, что первый - универсальный тип, таким образом, Вы извлекаете всю пользу из дженериков с точки зрения статической проверки типа (и уменьшенная упаковка, но это не является столь большим, как люди склонны думать с точки зрения производительности - существует определенная стоимость памяти для упаковки, хотя).
Прочтите здесь (Блог группы разработчиков Visual C ++: история IntelliSense, часть 1)
Сбор информации о C или C ++ структура программы была примерно очень давно в Microsoft продукты. Предшествующий даже Visual C ++ 1.0 компилятор поддерживал генерацию программной информации через .SBR и .BSC файлы. (Примечание: компилятор в Visual C ++ 1.0 уже был версией 8, поэтому инструменты командной строки были уже примерно некоторое время.) SBR файлы содержат ссылку и определение информация для одного перевода модуль, который компилятор генерирует по мере компилирует . Эти файлы SBR объединены на более позднем этапе с помощью Инструмент BSCMAKE для создания файла BSC. Затем этот файл можно использовать для просмотра много разных аспектов программы: ссылка, определения, вызывающий-вызываемый графики, макросы и т. д.
Когда-то информация о просмотре управляла движком «Перейти к определению», но это было переработано в более поздней версии Visual C ++. Некоторые сторонние инструменты по-прежнему используют информацию о просмотре (не могу точно вспомнить, но я думаю, что один из инструментов Rational умеет) для перекрестных ссылок на код.
Я всегда отключаю его, чтобы сократить время сборки.
.sbr
- это в значительной степени ctags
Visual Studio - указатель символов с обратными ссылками на источник. Когда доступно, он используется «Найти символ» и другими подобными инструментами. Он более точен, чем встроенный анализатор VS, потому что C ++ может быть сложным, а настоящий компилятор может работать лучше (хотя это не совсем верно в VS2010).