Здравствуйте, varnie, Вы писали:
V>почему при срабатывании исключения в конструкторе класса далее неявно вызывается operator delete. как С++ система узнает, что несмотря на то, что создание объекта не произошло, память, выделенную под него явно посредством operator new, следует удалить, и это происходит автоматически сразу же после срабатывания исключения в конструкторе?
Потому что автоматически при вызове конструктора вставляется отлов исключений, и если исключение вылетело, зовется operator delete и исключение перевыбрасывается.
V>почему при возбуждении исключения std::bad_alloc при выделении памяти под объект класса далее в ф-ции main не происходит вызов operator delete для этого класса несмотря на то, что операция удаления delete pCTest; прописана явно? в стандарте где-то оговорено, что при удалении NULL поинтера operator delete не будет вызываться?