Очевидно, что классы коллекций с их параметром class Allocator = std::allocator<T>
явно используют выделения кучи, но какие другие библиотечные функции (или, действительно, языковые функции) могут выделять память в практической реализации.
Я знаюс этого поста , от которого throw
можно ожидать (у меня нет спецификации для точной терминологии) выделять память для трассировки стека, но где еще это может произойти?
Справочная информация : MISRA C ++ 18-4-1 говорит: «Динамическое выделение кучи не должно использоваться», однако другие правила охватывают использование throw
(15-0-1 / 2 /3), а третьи (например, 3-4-1) имеют пример кода с использованием std::cout
, который я хотел бы выделить для памяти.