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)