Aracılığıyla paylaş


_set_new_mode

için mallocbir new işleyici modu ayarlar.

Sözdizimi

int _set_new_mode( int newhandlermode );

Parametreler

newhandlermode
new için mallocişleyici modu; geçerli değer 0 veya 1'dir.

Dönüş değeri

için mallocayarlanan önceki işleyici modunu döndürür. 1 dönüş değeri, bellek malloc ayrılamaması durumunda daha önce işleyici yordamı olarak adlandırılan new 0 dönüş değerinin ayrılmadığını gösterdiğini gösterir. newhandlermode Bağımsız değişken 0 veya 1'e eşit değilse, -1 döndürür.

Açıklamalar

C++ _set_new_mode işlevi için mallocişleyici modunu ayarlarnew. İşleyici new modu, hata malloc durumunda tarafından _set_new_handlerayarlandığı gibi işleyici yordamının new çağrılıp çağrılmayacağını belirtir. Varsayılan olarak, malloc bellek ayırma hatasında new işleyici yordamını çağırmaz. Bu varsayılan davranışı geçersiz kılabilir, böylece bellek ayrılamazsamalloc, işleç aynı nedenden dolayı başarısız olduğunda olduğu gibi new işleyici yordamını çağırırnew. malloc Daha fazla bilgi için C++ Dil Başvurusu'ndaki ve delete işleçlerine bakınnew. Varsayılanı geçersiz kılmak için şunu çağırın:

_set_new_mode(1);

programınızın başlarında veya Newmode.obj ile bağlantı oluşturun (bkz . Bağlantı seçenekleri).

Bu işlev parametresini doğrular. 0 veya 1 dışında bir şeysenewhandlermode, işlev Parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisini çağırır. Yürütmenin devam etmesi için izin verilirse, _set_new_mode -1 döndürür ve olarak EINVALayarlanırerrno.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

Yordam Gerekli başlık
_set_new_mode <new.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Ayrıca bkz.

Bellek ayırma
calloc
free
realloc
_query_new_handler
_query_new_mode