Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat menggunakan operator konteks di C++ untuk memenuhi syarat lokasi titik henti, nama variabel, atau ekspresi. Operator konteks berguna untuk menentukan nama dari cakupan luar yang mungkin tersembunyi oleh nama lokal tertentu.
Syntax
Ada dua cara untuk menentukan konteks:
{,[module] } Ekspresi
Tanda kurung kurawal harus berisi dua koma, serta nama modul (eksekutabel atau DLL) atau jalur lengkap.
Misalnya, untuk mengatur titik henti pada
SomeFunctionfungsiEXAMPLE.dll:{,,EXAMPLE.dll}SomeFunctionmodul! Ekspresi
EXAMPLE.dll!SomeFunction
modul adalah nama modul. Anda dapat menggunakan jalur lengkap untuk membedakan antara modul dengan nama yang sama.
Jika jalur modul menyertakan koma, spasi yang disematkan, atau kurung kurawal, Anda harus menggunakan tanda kutip di sekitar jalur sehingga pengurai konteks dapat mengenali string dengan benar. Tanda kutip tunggal dianggap sebagai bagian dari nama file Windows, jadi Anda harus menggunakan tanda kutip ganda. Contohnya,
{,,"a long, long, library name.dll"} g_Varekspresi adalah ekspresi C++ valid yang diselesaikan ke target yang valid, seperti nama fungsi, nama variabel, atau alamat penunjuk dalam modul.
Saat pengolah ekspresi menemukan simbol dalam suatu ekspresi, pengolah mencari simbol dalam urutan berikut:
Cakupan leksikal meluas keluar, dimulai dengan blok saat ini, serangkaian pernyataan yang diapit kurung kurawal, dan melanjutkan keluar dengan blok yang melingkupi. Blok saat ini adalah kode yang berisi lokasi saat ini, alamat penunjuk instruksi.
Cakupan fungsi. Fungsi saat ini.
Cakupan kelas, jika lokasi saat ini berada di dalam fungsi anggota C++. Cakupan kelas mencakup semua kelas dasar. Evaluator ekspresi menggunakan aturan dominasi normal.
Simbol global dalam modul saat ini.
Simbol publik dalam program saat ini.