Bu iki garip kod satırı ne anlama geliyor?"= Sil" nedir?
thread_guard(thread_guard const&) = delete;
thread_guard& operator=(thread_guard const&) = delete;
Bu iki garip kod satırı ne anlama geliyor?"= Sil" nedir?
thread_guard(thread_guard const&) = delete;
thread_guard& operator=(thread_guard const&) = delete;
=delete
, C++ 0x'un yeni bir özelliğidir. Bu derleyici derhal derhal derhal durdurmak ve "Bu işlev silindi", kullanıcı böyle bir işlev kullandıktan sonra (Ayrıca bakınız:Bjarne Stroustrup tarafından C++ 0x SSS).
thread_guard(thread_guard const&)
bir kopya oluşturucusudur ve thread_guard& operator=(thread_guard const&)
bir atama yapıcısıdır. Bu iki satır birlikte, bu nedenle thread_guard
örneklerinin kopyalanmasını devre dışı bırakır.
Yeni C++ sınıfının bazı fonksiyonları devre dışı bırakılması için 0x sözdizimi. Örnek için bkz wikipedia. Burada, thread_guard
sınıfının ne kopyalanabilir ne de atanabilir olduğunu söylüyorsunuz.
Diğer işlevler için de çalışıyor. – sellibitze
Neredeyse. Silinmiş bir fonksiyonun (örneğin, "decltype" ifadesinin ifadesi olarak), silinmemiş bir işlevin "kullanımı", şablon argümanı kesinti kesintisi olarak nitelendirilebilir. Bu, bir derleyicinin bir şablonu görmezden gelmesini sağlar. Derleyicinin derlenmesini engeller. – sellibitze