"Como se" nos padrões de linguagem

Qual é o significado exato da frase "como se" no padrão e como funciona quando um usuário pode modificar partes individuais do comportamento.

A questão é em relação ao padrão C ++ ao falar sobre a versão nothrow dooperator new. 18.4.1.1/7 lê (minha ênfase):

Esta versão nothrow do operador new retorna um ponteiro obtidoAté parece adquirido da versão comum.

Meu entendimento é que "como se" não requer uma implementação específica, desde que o comportamento seja apropriado. Então seoperator new foi implementado assim (sei que essa não é uma implementação compatível, pois não há loop ou uso do new_handler; mas estou diminuindo isso para focar no meu 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;
}

Seria legal escrever a versão do nothrow assim:

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

Mas digamos que um programa substituaoperator new para usar outro alocador. "Como se" significa que o compilador precisa alterar automaticamente o comportamento da versão do nothrow para usar esse outro alocador? É necessário que o desenvolvedor substitua as versões simples e de nothrow?

questionAnswers(3)

yourAnswerToTheQuestion