Aracılığıyla paylaş


C++ yönetilen ifadeler

Yönetilen ifade değerlendirici çoğu ifadeler yazılmış kabul Visual C++.Aşağıdaki konularda, belirli bilgi sunan ve bazı desteklenmeyen ifade türleri açıklanmıştır:

  • Tanımlayıcılar ve türleri

  • İşlev değerlendirmesi

  • İşleçler

  • Yüklenmiş İşleçler

  • Dizeleri

  • Yayınları

  • Nesne karşılaştırma ve atama

  • typeof ve sizeof işleçleri

  • Kutulama

  • Özellik değerlendirme

Erişim niteleyiciler, ifade değerlendirici yoksayar public, protected, internal, ve private.Arayabileceğiniz bir private yönteminin İzle penceresinde, örneğin.

Yürütülen kod güvenli veya güvenli olup olmadığını ifade değerlendirici örtülü güvensiz bir bağlamda, tüm değerlendirmeleri gerçekleştirir.

Hata ayıklayıcı autoexpand kuralları anlamlı biçimde veri türü içeriğini görüntülemek için kullanır.Gerekirse, kendi özel veri türlerini görüntülemek için özel autoexpand öğeler ekleyebilirsiniz.Daha fazla bilgi için bkz: Özel veri türü öğelerini görüntüleme.

Tanımlayıcılar ve türleri

Hata ayıklayıcı ifadeleri, geçerli kapsam içinde görünen herhangi bir tanımlayıcı kullanabilirsiniz.Hata ayıklayıcı, işlev durdu, magh, örneğin, içinde görünen herhangi bir tanımlayıcıyı kullanabilirsiniz magh, sabit, değişken adları ve işlev adları.

Hata ayıklayıcıyı doğru herhangi bir değişkeni görüntülemek bir primitive, enum, veya intrinsic türü.Değişkenler için class türü, hata ayıklayıcıyı doğru türetilmiş çoğu türüne göre değeri görüntüler.Bir nesne varsa, leo türü lion, türünden türetilmiş cat, değerlendirilmesi için leo.clawlength ve doğru değer türünde bir nesne lion.

L değeri kullanılanla olan herhangi bir sol hand yan deyimi yeni bir değer atayabilirsiniz.Atamalar için sınıf ve dizi türleri desteklenmez.

İşlev değerlendirmesi

Hata ayıklayıcı, işlevlerin aşırı yüklü işlevleri de dahil olmak üzere değerlendirme destekler.Bu nedenle, aşağıdaki ifadeler girebilirsiniz ve hata ayıklayıcı işlevde doğru sürümünü çağırır:

kanga ()
kanga (roo)

Hata Ayıklayıcı'daki bir işlev değerlendirme gerçekten çağırır ve bu işlev kodu yürütür.İşlevin bellek ayırma veya genel bir değişkenin değerini değiştirme gibi yan etkileri varsa değerlendirme işlevi bir hata ayıklama penceresinde beklenmeyen sonuçlara yol açabilir programınızın durumunu değiştirin.

Kesme noktası bir işlevde ayarladığınızda, kesme konumunu işlevi belirtin nasıl bağlıdır.İşlev adı belirtirseniz, hata ayıklayıcı işlev adının her aşırı bir kesme noktası ayarlayın.Tam imza, işlev adı ve tam bağımsız değişken listesi belirlerseniz, hata ayıklayıcı üzerinde belirtilen aşırı bir kesme noktası ayarlar.

İşleçler

Hata ayıklayıcı dahil en yerleşik operatörler doğru değerlendirir:

  • Operatörler: (Deyim1 >expr2, Deyim1 < expr2, expr1 <= expr2, expr1 => expr2, expr1 == expr2, expr1 != expr2).

  • Boole işleçleri: (Deyim1 & & expr2, expr1 || expr2).

  • Koşul operatörü: (Deyim1 ?expr2 : expr3) .

  • Aritmetik işleçler: ( Deyim1 + expr2, Deyim1 - expr2,expr1 * expr2, expr1 / expr2, expr1 % expr2).

  • Bitsel işleçler: (Deyim1 & expr2, expr1 ^ expr2, expr1 | expr2, expr1 ~ expr2).

  • Kaydırma işleçleri.Örnekler: (Deyim1 >>expr2, Deyim1 <<expr2, Deyim1 >>> Deyim2).

  • Assignment operators: ( lvalue = expr2, lvalue *= expr2, lvalue /= expr2, lvalue %= expr2, lvalue += expr2, lvalue -= expr2, lvalue <<= expr2, lvalue >>=expr2, lvalue &= expr2, lvalue ^= expr2, lvalue |= expr2 ).

  • Tekli operatörler.Examples: ( +expr1, - expr1, expr1++, ++expr1, expr1--, --expr1 ).

İfadeler dizisini girmek için virgül operatörünü kullanabilirsiniz: Deyim1, ifade2,expr3.

Yüklenmiş İşleçler

Hata ayıklayıcıda en aþýrý yüklenmiþ Ýþleçler çalışır.

Aşırı iç işleçleri +, -, /, ve & İş:

  • Deyim1 + Deyim2

  • Deyim1Deyim2

  • Deyim1 / Deyim2

  • Deyim1 % Deyim2

  • Deyim1 & Deyim2

Aşırı iç işleçleri = & & &, ||, |, ve ^ çalışmaz:

  • Deyim1 = Deyim2

  • Deyim1 & & Deyim2

  • Deyim1 & Deyim2

  • Deyim1 || Deyim2

  • Deyim1 | Deyim2

  • Deyim1 ^ Deyim2

Operatörler aşırı ==,! =, >, <>, =, ve < = C++ için çalışmaz:

  • Deyim1 == Deyim2

  • Deyim1 ! = Deyim2

  • Deyim1 > Deyim2

  • Deyim1 < Deyim2

  • Deyim1 > = Deyim2

  • Deyim1 < = Deyim2

Aşırı iç operatörleri |, ^, <>,, >, <>, =, ve < = çalışmaz:

  • Deyim1 | Deyim2

  • Deyim1 ^ Deyim2

  • Deyim1 << Deyim2

  • Deyim1 >> Deyim2

  • Deyim1 > Deyim2

  • Deyim1 < Deyim2

  • Deyim1 > = Deyim2

  • Deyim1 < = Deyim2

Önek operatörleri aşırı +, -, ++,--,!, ve ~ çalışır:

  • +Deyim1

  • -Deyim1

  • ++expr1

  • --expr1

  • !Deyim1

  • ~Deyim1

Sonek operatörleri aşırı ++ ve--çalışabilirsiniz:

  • Deyim1++

  • Deyim1--

Aşırı operator [] çalışır:

  • xexpr2

Çok boyutlu diziler

C# C++ ifade değerlendirici kullanır-stil çok boyutlu diziler için sözdizimi.Örne?in:

c[0,0]

Normal C++ sözdizimini kullanarak bir hata oluşturur:

c[0][0]Hata: dizin sınır dışında ' 0' için işaretçiyi/dizi 'c'

Dizeleri

Dizilerin yanı sıra, dizeleri ile kullanıldığında hata ayıklayıcı dizinlenmiş işleci tanır.Bu nedenle, örneğin, girebilirsiniz:

"hello world"[0]

İzle pencere doğru değeri görüntüler:

'h'

Yayınları

Basit atama ifadeleri hata ayıklayıcıda çalışır:

(A)x

Hata ayıklayıcıda işaretçiler içeren yayınları çalışmaz:

Kullanıcı tanımlı yayınları için hata ayıklayıcı çalışmıyor Visual C++.

Nesne karşılaştırma ve atama

Nesne karşılaştırma ve hata ayıklayıcı atama çalışmıyor için Visual C++.

typeof ve sizeof işleçleri

Hata ayıklayıcı, typeof ve sizeof operatörü eşdeğer dönüştürme destekler.net Framework işlevi.

typeof ( ifade)

içine dönüştürülür:

System.Type.GetType(expression )

Hata ayıklayıcı, sonra bu dönüştürülmüş deyimi değerlendirir.

Hata ayıklayıcı desteklemediği sizeof işleci.

Ayrýntýlý ve kutulamayý kaldýrmayý

Hata ayıklayıcı ifade değerlendirici ayrýntýlý ve kutulamayý kaldýrmayý de desteklemez Visual C++.Daha fazla bilgi için bkz: kutulama ve Unboxing.Bir tamsayı değişken varsa, i , dönüştürülmemiş kutulama aracılığıyla bir nesne içinde hata ayıklayıcı değerlendirir i bir nesne olarak değil, bir tamsayı olarak.Beklediğiniz sonuçları olmayabilir.

Özellik değerlendirme

Özellikler penceresinde değişken hata ayıklayıcı değerlendirir.Ancak, hata ayıklayıcı özelliğinde değerlendirirken, beklenmedik ve istenmeyen sonuçlar yan etkileri olabilir.Tarafından yanlışlıkla değerlendirme neden yan etkilere karşı korumak için Özellik değerlendirmeyi de devre dışı bırakabilirsiniz seçenekleri iletişim kutusu.

Donmaları

Windows hata ayıklayıcıdan donmaları çağrılamıyor.

Ayrıca bkz.

Diğer Kaynaklar

Hata Ayıklayıcı'daki ifadeler