Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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);
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