Yapıcımı ne zaman/neden açık bir şekilde silmek istiyorum? Nedeni kullanımını engellemek olduğu varsayılarak, neden sadece private
?neden kurucuyu açıkça silinsin?
Teşekkürler!
//deleted constructor
class Foo
{
public:
Foo() = delete;
public:
static void foo();
};
void Foo::foo()
{
Foo f; //illegal
}
//private constructor
class Foo
{
private:
Foo() {}
public:
static void foo();
};
void Foo::foo()
{
Foo f; //legal
}
karşı Bunlar temelde farklı şeyler konum: nereden
Bu, türünün bile kullanamayacağı bir şey olan '= default' ile uyumludur ve ben şahsen görmeyi tercih ederim * Silinen işlevlerin kullanımı * over * İşlev özeldir. * Önceki ifadesi açıkça belirtmektedir. kullanılacak olan." Eğer herhangi bir şey ortaya çıkarsa, onu kullanamayan sınıf aslında anlamsal bir fark yaratır. – chris
İnsanların yakın oylamalarla agresif davranmaya başladığını düşünüyorum. Bunun yapıcı olmadığını nasıl görüyorum. –
@LuchianGrigore: Anlaşıldı. Toplumun neden kendimi bu kadar katı hale getirdiğini merak ettim. Ben noktayı göremiyorum. –