std::pmr::memory_resource::allocate
Код: Выделить всё
void* allocate( std::size_t bytes, std::size_t alignment = alignof(std::max_align_t) );
Эквивалентно возврату do_allocate(байты, выравнивание);
std::pmr:: Memory_resource::do_allocate
Код: Выделить всё
virtual void* do_allocate( std::size_t bytes, std::size_t alignment ) = 0;
std::basic_streambuf< CharT,Traits>::pubsync, std::basic_streambuf::sync
(1) int pubsync() ;
защищено:
(2) виртуальная синхронизация int();
- Вызывает sync() самого производного класса
Я читал В чем смысл частной чистой виртуальной функции? и несколько статей об идиоме NVI, но ничто не объясняет приведенные выше случаи, когда метод ничего не делает, а вызывает частный метод и не имеет перегруженных методов.
Подробнее здесь: https://stackoverflow.com/questions/787 ... l-function