0
Özel bir sabit sınıf üyesine erişmek için aşağıdaki iki uygulama arasındaki farklar nelerdir?Yapı sınıfı üyesi için otomatik kesinti
// Auto& (compile ok)
class Foo {
private:
const int _foo;
public:
Foo(const int& in) : _foo(in) {}
auto& foo() { return _foo; }
}
// Explicit type (compiler error)
class Foo {
private:
const int _foo;
public:
Foo(const int& in) : _foo(in) {}
int& foo() { return _foo; }
}
auto
ile derleyici şikayet etmiyor ama aslında açık int
tür bildirimi (constness kaynaklanmaktadır) derleyici hata veriyor. Bu durumda, auto
nedir?
Sidenote: Ne yaptığınızı bildiğinizden emin olun w.r.t. const başvuruları kullanırken semantik. [Int vs const int &] konusuna bakın (http://stackoverflow.com/a/4705871/211160). Ve bir int geri dönmekten daha yavaş olabileceğini fark edin. – HostileFork