Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Birincil ifadeler daha karmaşık ifadelerin yapı taşlarıdır. Bunlar, kapsam çözümleme işleci (::
) tarafından nitelenmiş değişmez değerler, adlar ve adlar olabilir. Birincil bir ifade aşağıdaki biçimlerden birini içerebilir:
primary-expression
literal
this
name
::
name
(
expression
)
A literal
, sabit bir birincil ifadedir. Türü kendi belirtiminin biçimine bağlıdır. Değişmez değerleri belirtme hakkında daha fazla bilgi için bkz . Değişmez Değerler .
this
anahtar sözcüğü, sınıfın bir örneğine yönelik bir işaretçidir. Statik olmayan üye işlevlerinde kullanılabilir ve işlevin çağrıldığı sınıfın örneğine işaret eder. anahtar this
sözcüğü, sınıf üyesi işlevinin gövdesi dışında kullanılamaz.
İşaretçinin this
türü hakkında daha fazla bilgi için bkz this
. işaretçi.
Kapsam çözümleme işleci (::
) ve ardından bir ad birincil ifadedir. Bu gibi adlar üye adları değil, genel kapsamdaki adlar olmalıdır. adın bildirimi, ifadenin türünü belirler. Bildirimde bulunan ad bir l değeriyse bir l değeridir (atama ifadesinin sol tarafında görünebilir). Söz konusu ad geçerli kapsamda gizlenmiş olsa da, kapsam çözümleme işleci başvurulacak bir genel bir ad sağlar. Kapsam çözümleme işlecini kullanma örneği için bkz . Kapsam .
Parantez içine alınmış bir ifade birincil ifadedir. Türü ve değeri, ayrıştırılmamış ifadenin türü ve değeriyle aynıdır. Ayrıştırılmamış ifade bir l değeriyse, bu bir l değeridir.
Birincil ifadenin örnekleri şunlardır:
100 // literal
'c' // literal
this // in a member function, a pointer to the class instance
::func // a global function
::operator + // a global operator function
::A::B // a global qualified name
( i + 1 ) // a parenthesized expression
Bu örneklerin tümü çeşitli biçimlerde adlar ve birincil ifadeler olarak kabul edilir:
MyClass // an identifier
MyClass::f // a qualified name
operator = // an operator function name
operator char* // a conversion operator function name
~MyClass // a destructor name
A::B // a qualified name
A<int> // a template id