"Como si" en los estándares de idiomas

¿Cuál es el significado exacto de la frase "como si" en el estándar y cómo funciona cuando un usuario puede modificar partes individuales del comportamiento.

La pregunta se refiere al estándar C ++ cuando se habla de la versión nothrow deoperator new. 18.4.1.1/7 lecturas (mi énfasis):

Esta nueva versión del operador new devuelve un puntero obtenidocomo si adquirido de la versión ordinaria.

Tengo entendido que "como si" no requiere una implementación específica siempre que el comportamiento sea apropiado. Así que sioperator new se implementó de esta manera (sé que esta no es una implementación compatible ya que no hay un bucle o uso del new_handler; pero estoy acortando eso para centrarme en mi problema):

// NOTE - not fully compliant - for illustration purposes only.
void *operator new(std::size_t s)
{
    void *p = malloc(s);
    if (p == 0)
        throw std::bad_alloc();
    return p;
}

Entonces sería legal escribir la versión nothrow como esta:

// NOTE - not fully compliant - for illustration purposes only.
void *operator new(std::size_t s, const std::nothrow_t &nt)
{
    return malloc(s);
}

Pero digamos que un programa reemplazaoperator new usar algún otro asignador. ¿Significa "como si" significa que el compilador tiene que cambiar automáticamente el comportamiento de la versión nothrow para usar este otro asignador? ¿Se requiere que el desarrollador reemplace tanto las versiones simples como las no nothrow?

Respuestas a la pregunta(3)

Su respuesta a la pregunta