Почему std::allocator::allocate вызывает ::operator new? ⇐ C++
-
Гость
Почему std::allocator::allocate вызывает ::operator new?
В документации для функции-члена std::allocator::allocate в ([allocator.members]) говорится, что:
Примечания: Память для массива получается путем вызова :оператора new ([new.delete]), но не указано, когда и как часто вызывается эта функция. Эта функция запускает время жизни объекта массива, но не любого из элементов массива.
Интересно, почему там написано ::operator new, а не просто operator new? Имеет ли значение двойное двоеточие? Какой еще оператор new можно было бы здесь вызвать, если бы двойное двоеточие было опущено?
В документации для функции-члена std::allocator::allocate в ([allocator.members]) говорится, что:
Примечания: Память для массива получается путем вызова :оператора new ([new.delete]), но не указано, когда и как часто вызывается эта функция. Эта функция запускает время жизни объекта массива, но не любого из элементов массива.
Интересно, почему там написано ::operator new, а не просто operator new? Имеет ли значение двойное двоеточие? Какой еще оператор new можно было бы здесь вызвать, если бы двойное двоеточие было опущено?
Мобильная версия