Используя hashmaps в C++ легко! Это похоже на использующую стандартную карту C++. Можно использовать Ваш, реализация компилятора/библиотеки unordered_map
, или используйте тот, обеспеченный повышение , или некоторый другой поставщик. Вот быстрый образец. Вы найдете больше, если Вы перейдете по ссылкам, Вам дали.
#include
#include
#include
int main()
{
typedef std::tr1::unordered_map< std::string, int > hashmap;
hashmap numbers;
numbers["one"] = 1;
numbers["two"] = 2;
numbers["three"] = 3;
std::tr1::hash< std::string > hashfunc = numbers.hash_function();
for( hashmap::const_iterator i = numbers.begin(), e = numbers.end() ; i != e ; ++i ) {
std::cout << i->first << " -> " << i->second << " (hash = " << hashfunc( i->first ) << ")" << std::endl;
}
return 0;
}
Windows.Forms.Timer
использует цикл сообщений форм Windows для обработки событий таймера. Его следует использовать при записи событий синхронизации, которые используются в приложениях Windows Forms, и вы хотите, чтобы таймер запускался в основном потоке пользовательского интерфейса.
DispatcherTimer
- это механизм синхронизации WPF. Его следует использовать, если вы хотите обрабатывать время аналогичным образом (хотя это не ограничивается одним потоком - каждый поток имеет свой собственный диспетчер), и вы используете WPF. Он запускает событие в том же потоке, что и Диспетчер.
В общем, WPF == DispatcherTimer
и Windows Forms == Forms.Timer
.
При этом, как говорится, есть также System.Threading.Timer
, который является классом таймера
, который запускается в отдельном потоке. Это хорошо для чисто числовой синхронизации,