Sadece arasındaki farkı bilmek istiyorum. operatör ve :: operatör?dot operator ile scope resolution operator arasındaki fark nedir?
cevap
Eski (nokta, .
) bir nesnenin üyelerine erişmek için kullanılır, ikincisi (çift kolon, ::
) ad alanı veya sınıf üyelerine erişmek için kullanılır.
Aşağıdaki kurulumu göz önünde bulundurun. Bu durumda
namespace ns {
struct type
{
int var;
};
}
, bir ad alanının üyesi olan yapının, başvurmak için, sen
::
kullanın.
type
türünde bir nesneye değişken erişmek için
.
kullanın.
ns::type obj;
obj.var = 1;
bir nesne örneğine bir işaretçi kullanıyorsanız, kullandığınız nesnenin üyelerine erişmek gerekecek - "nokta" yerine>
* Yapmanız gerekmez * - 'p-> m' sadece '(* p) .m';) için sözdizimsel şekerdir – fredoverflow
başka yolu da Quad düşünmek dot '::', scope resolution operator.
'dır. Kapsamda aynı ada sahip birden fazla nesne olduğu durumlarda. Açıkça hangisinin kullanılacağını beyan: ''
std::min(item, item2);
veya
mycustom::min(item, item2);
nokta operatörü O istendi değil
Myobject myobject;
myobject.doWork();
myobject.count = 0;
// etc
bir nesne örneğinin metotlarını ve özelliklerini diyoruz, ama bir nesne örneği new
ile dinamik olarak oluşturulursa kullanmak için başka operatör var etmektir, bu ok operatörüdür '->'
Myobject myobject2 = new Myobject();
myobject2->doWork();
myobject2->count = 1;
- 1. Typescript & operator
- 2. groovy^operator
- 3. Elixir Operator Overloading: Makullar
- 4. QName ve Operator sınıfının kullanımı nedir?
- 5. operator member_function_pointer_type() typedef olmadan?
- 6. C++ 'da Overloading Operator +
- 7. operator java.lang.string java.lang.string adresine uygulanamaz
- 8. Neden Myclass :: operator string() dosyasını std :: string :: operator +() ile çağırmak gerekiyor?
- 9. $ operator ddply atomik vektörler için geçersiz
- 10. Dize niçin `operator = (char)` işlevini destekliyor?
- 11. = ile mysql arasındaki fark nedir?
- 12. Referans ile & * arasındaki fark nedir?
- 13. difftime ile '-' arasındaki fark nedir?
- 14. Global typecast operator aşırı yüklendi mi?
- 15. Smalltalk'taki fark ile Smalltalk arasındaki fark nedir?
- 16. C++ Operator + string uzunluğunda Segmentasyon Hatası
- 17. unary & operator işlevini kullanarak dönüş değeri
- 18. açık bir şekilde std: shared_ptr :: operator ->
- 19. Fark() arasındaki fark nedir mustache.js
- 20. arasındaki fark nedir?
- 21. Java arasındaki fark nedir
- 22. arasındaki fark nedir?
- 23. arasındaki fark nedir?
- 24. Wordpress: site_id ile blog_id arasındaki fark nedir?
- 25. SSI'da DOCUMENT_URI ile URI_REQUEST arasındaki fark nedir?
- 26. Backbone.Js - el ile $ el arasındaki fark nedir?
- 27. Fmap ile bağlama arasındaki fark nedir?
- 28. Linq: Birleşimdeki == ile eşittir arasındaki fark nedir?
- 29. Proxy ile ilişkilendirme arasındaki fark nedir?
- 30. http_basic_authenticate_with AND authenticate_or_request_with_http_basic ile arasındaki fark nedir?
, eğer bir şeye erişmek için nesne kullanıyorsak, o zaman nokta operatörünü kullanmalıyız, ve eğer bir sınıf adı kullanıyorsak, o zaman kullanmamız gerekecek ::, değil mi? sakıncası yoksa! – defiant
@oDx, bu doğrudur, yani eğer bir sınıfın bir statik değişkenine veya fonksiyonuna sahipseniz, "::" öğesini sınıfın adıyla referans olarak kullanacaksınız, oysa bir üye fonksiyonunuz veya üye değişkeniniz varsa, kullanırsınız "." sınıfın bir örneğinin adıyla. –