Sadece şu şaşırtıcı ifadeyi (§13.6/8) draft of the C++11 standard üzerinden tarama ve tespit edilmiştir: Formun aday operatör fonksiyonları vardır mevcut T
her türü içinUnary +
T* operator+(T*);
İşaretçideki bu "unary +" operatörü nasıl anlaşılmalıdır? Bu, normal durumda, ancak aşırı yüklenebilen bir op-op mu? Yoksa burada daha da eksik olan bir nokta var mı?
So 'T * operatörü + (T *);' üye mi yoksa global mi? ve lambda -> '+ [] {};' 't' nedir merak ediyorum? Teşekkürler –
@AngelusMortis: İşaretçiler üye olamaz; Bu, aritmetik türler için dilin yerleşik unary 'operatörünü + kullanır.Ve türkçe olmayan lambdalar üzerinde “operatör +” un lambda'yı bir fonksiyon göstergesine dönüştürdüğü gibi, * + [] {} '' 'void (*)()' dır. – ildjarn
Sevgili efendim, ben hala biraz kafam karıştı, bu yüzden lemme ifadelerinizi alıntılayarak isteyin -> "İşaretçiler üyeleri olamaz" evet ama başlangıçta lambdaların operatörlere() derleyen sınıf türlerine (derleyiciler tarafından) dönüştürüldüğünü düşünmüştüm. Üye olabileceklerini düşündüm. Şimdi sizin deyiminiz "bu, dilin yerleşik unary' operatörünü + aritmetik tipler için kullanır ", eminim aritmetik tipler temel olarak integral + float türleridir, sonra nasıl ifade edilir ->' + []() '->' operator + (some_unknown_type_I_don 't_know) '-> void'e dönüştürülür (*)()' –