Hacker News new | ask | show | jobs
by superrad 3777 days ago
std::unordered_map<std::string, SomeClassName>::iterator it = hashmap.begin();

vs

auto it = hashmap.begin();

I find auto useful for cutting down some of the verbosity of templates STL containers, but I can see how over use can lead to code requiring much more referencing if maintaining code that rarely defines types.

1 comments

Oh no, I agree with that. I was specifically talking about fenesiistvan's point about his STL wrapper. I was wondering what his use cases were.

No doubt auto is extremely useful in a case like the one you mentioned. In fact, even more so in here:

for (std::unordered_map<std::string, std::unordered_map<std::string, long>*>::const_iterator it = a.begin(); ...)

I am used with the old Delphi / C++ Builder style. I think that it is much more clear than than bot the STL and the new trendy C11 style.

So my hashmap handling looks like this:

MHashMap userlist = new MHashMap<HUser>();

HUser *user = userlist->First();

while(user) { user->DoSomething(); user = userlist->Next(); }