namespace std {
void undeclare_no_pointers(char* p, size_t n);
}
この関数はC++23で削除された。
概要
特定の領域に追跡可能なポインタが存在しないことの宣言を取り消す。
要件
同じ領域が既にdeclare_no_pointers()
で宣言されている。
効果
declare_no_pointers()
で登録された領域の登録を取り消す。
この関数は、指定された範囲のオブジェクトが寿命を終える前に呼ばれなければならない。
戻り値
なし
例外
投げない
例
#include <memory>
#include <cstdlib>
int main()
{
int* p = new int[100];
std::undeclare_no_pointers(p); // ill-formed
return EXIT_SUCCESS;
}
バージョン
言語
- C++11
処理系
- GCC: ?
- Clang: 3.4 (relaxed実装)
- ICC: ?
- Visual C++: 2010, 2012, 2013 (relaxed実装)