Slow Template Library

tech • 84 słowa • 1 minuta czytania

Na szybko taki krótki komentarz odnośnie STL-a…

Standard C++ zaleca w make_pair przekazywać elementy przez referencje, a kochane gcc mimo, że o tym wspomina, to “robi” to przez wartość ;)

Przez co proste dodanie elementu do std::map z wykorzystaniem std::make_pair w takiej postaci:

std::pair<my_map_type::iterator, bool> ret = my_map.insert(std::make_pair(key, value));

doprowadziło do 4-krotnego kopiowania obiektu. Za to zmiana tego na:

std::pair<my_map_type::iterator, bool> ret = my_map.insert(my_map_type::value_type(key, value));

zredukowała ilość kopiowania do 2.

Jak to ładnie ktoś na pl.comp.lang.c skrót STL rozwinął do Slow Template Library ;)

Komentarze (0)

Dodaj komentarz

/dozwolony markdown/

/nie zostanie opublikowany/