An efficient data structure for words (dictionary) in C++