2 votes

confusion au sujet de l'opérateur de résolution de la portée en c++

Ce que : : fait en ligne : retourne ::operator new(size, ::std::nothrow) ; et pourquoi la classe utilise un modèle alors qu'il n'y a pas d'utilité pour le modèle de type T

template<typename T>
class DefaultMemoryAllocator
{
public:
  static inline void *Allocate(size_t size)
  {
    return ::operator new(size, ::std::nothrow);
  }
  static inline void Deallocate(void *pointer, size_t size)
  {
    ::operator delete(pointer);
  }
};

1voto

Bathsheba Points 23209

Utilisation de la opérateur de résolution de la portée :: comme cela signifie que le mondial operator new y operator delete sont appelées, par opposition à celles qui ont pu être surchargées pour cette classe.

Vous constaterez probablement que cette fonction fait partie d'une classe de politique de mémoire, et qu'elle est appelée à partir de l'interface de la classe. operator new y operator delete fonctions surchargées.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X