#include <iostream>
#include <map>
struct record
{
const char* id;
int count;
~record() { std::cout << "~record: " << count << std::endl; }
};
const char* foo()
{
std::map< const char*, size_t > counters;
for (const record& r : std::initializer_list<record>{
{ "a", 1 },
{ "a", 2 },
{ "b", 3 },
{ "b", 4 },
{ "a", 5 },
{ "a", 6 },
{ "c", 7 },
{ "c", 8 },
{ "a", 9 },
})
{
std::cout << r.count << std::endl;
counters[r.id] += r.count;
}
return counters.begin()->first;
};
int main()
{
std::cout << foo()[0] << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgoKc3RydWN0IHJlY29yZAp7CiAgIGNvbnN0IGNoYXIqIGlkOwogICBpbnQgY291bnQ7CgogICB+cmVjb3JkKCkgeyBzdGQ6OmNvdXQgPDwgIn5yZWNvcmQ6ICIgPDwgY291bnQgPDwgc3RkOjplbmRsOyB9Cn07Cgpjb25zdCBjaGFyKiBmb28oKQp7CiAgIHN0ZDo6bWFwPCBjb25zdCBjaGFyKiwgc2l6ZV90ID4gY291bnRlcnM7CiAgIGZvciAoY29uc3QgcmVjb3JkJiByIDogc3RkOjppbml0aWFsaXplcl9saXN0PHJlY29yZD57CiAgICAgIHsgImEiLCAxIH0sCiAgICAgIHsgImEiLCAyIH0sCiAgICAgIHsgImIiLCAzIH0sCiAgICAgIHsgImIiLCA0IH0sCiAgICAgIHsgImEiLCA1IH0sCiAgICAgIHsgImEiLCA2IH0sCiAgICAgIHsgImMiLCA3IH0sCiAgICAgIHsgImMiLCA4IH0sCiAgICAgIHsgImEiLCA5IH0sCiAgIH0pCiAgIHsKICAgICAgc3RkOjpjb3V0IDw8IHIuY291bnQgPDwgc3RkOjplbmRsOwogICAgICBjb3VudGVyc1tyLmlkXSArPSByLmNvdW50OwogICB9CiAgIHJldHVybiBjb3VudGVycy5iZWdpbigpLT5maXJzdDsKfTsKCmludCBtYWluKCkKewogICBzdGQ6OmNvdXQgPDwgZm9vKClbMF0gPDwgc3RkOjplbmRsOwp9Cg==