| Справочное руководство по C++ | 54 |
описателей &, *, [] и их двойниками из выражения, например,
new int* i; // syntax error: parsed as `(new int*) i'
// not s `(new int)*i'
Символ * используется в описателе указателя, а не в качестве
операции умножения.
R.5.3.4 Операция delete
Операция delete уничтожает объект, созданный с помощью new.
выражение-освобождения:
::opt delete выражение-приведения
::opt delete [] выражение-приведения
Результат имеет тип void. Операндом delete должен быть указатель,
который возвращает new. Эффект применения операции delete к указателю,
который не получен в результате операции new без задания
параметры-new, считается неопределенным и обычно приводит к опасным
последствиям. Однако гарантируется, что удаление по указателю с
нулевым значением безопасно.
Результат попытки доступа к удаленному объекту неопределен, а
удаление объекта может изменить его значение. Более того, если
выражение, задающее объект, является изменяемым адресом, его
значение после удаления неопределено.
Предыдущая страница 54 Следующая страница
Warning: file_get_contents(../niz.php?uri=/a/54.htm) [function.file-get-contents]: failed to open stream: No such file or directory in /home/aptemne/public_html/cpp/a/54.htm on line 54
|