аллокатор? Вчера смотрел на basic_string в GCC/STL и только в одном месте увидел аллокацию, в других местах типа reserve() есть некий allocator_traits и вроде бы это копирование а вроде и нет. Я не разобрался
А что за копирование в reserve() ?
Откройте код STL)
Ой ну нафиг не хочу :) Но все равно что за копирование в reserve ? Вроде бы по "идее" reserve просто выделяет память с запасом и на этому его функция заканчивается ?
Мы не в чате для новичков, давайте поддерживать соответствующий уровень дискуссии. Если есть проблемы с пониманием, как работает reserve() или аллокаторы, лучше пойти в @supapro, а не приписывать несуществующий realloc
Я нашел кое-что но если есть другие источники, буду благодарен за ссылки: https://howardhinnant.github.io/allocator_boilerplate.html https://quuxplusone.github.io/blog/2018/07/14/traits-classes/ https://www.boost.org/doc/libs/1_72_0/doc/html/container/cpp_conformance.html#container.cpp_conformance.alloc_traits_move_traits https://youtu.be/v7B_8IbHjxA https://youtu.be/YkiYOP3d64E https://youtu.be/Q5kyiFevMJQ https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0177r1.html
Может, достаточно начать с интерфейса, который в большинстве случаев используется, чтобы понять, что это и зачем?
Вот если я правильно понял открытая реализация Вектора от Микрасофта: https://github.com/microsoft/STL/blob/main/stl/inc/vector
Я ищу ответ на вопрос а зачем это все нужно и зачем так сложно. Почему то что было раньше не устраивало и чем
Чтобы пользователь мог управлять поведением отдельных контейнеров индивидуально
Обсуждают сегодня