C++ xatolar
Xatolar
Hatto tajribali C++ dasturchilari ham xato qiladi. Asosiysi — ularni qanday topish va tuzatishni o‘rganish!
Bu sahifalarda nima noto‘g‘ri ketayotganini va uni qanday tuzatishni tushunishga yordam beradigan keng tarqalgan xatolar hamda foydali debugging maslahatlari yoritilgan.
Keng tarqalgan kompilyatsiya vaqtidagi xatolar
Kompilyatsiya vaqtidagi xatolar — dasturingiz kompilyatsiya qilinishiga to‘sqinlik qiladigan xatolar.
1) Nuqtali vergul tushib qolgan:
2) E’lon qilinmagan o‘zgaruvchilardan foydalanish:
3) Tiplar mos kelmasligi (masalan, int o‘zgaruvchisiga string qiymat berishga urinish):
int x = "Hello";
Natija:
error: invalid conversion from 'const char*' to 'int'
Keng tarqalgan bajarilish vaqtidagi xatolar
Bajarilish vaqtidagi xatolar dastur kompilyatsiya qilinsa-yu, lekin ishdan chiqsa yoki kutilmagan tarzda ishlasa yuz beradi.
1) Nolga bo‘lish:
int a = 10;
int b = 0;
int result = a / b; // not possible
cout << result;
2) Massiv chegarasidan tashqaridagi elementlarga murojaat qilish:
int numbers[3] = {1, 2, 3};
cout << numbers[8]; // element does not exist
3) O‘chirilgan xotiradan foydalanish (osilib qolgan ko‘rsatkich — dangling pointer):
int* ptr = new int(10);
delete ptr;
cout << *ptr; // invalid
Xatolarning oldini olish uchun foydali odatlar
- O‘zgaruvchilarga doim boshlang‘ich qiymat bering
- Mazmunli o‘zgaruvchi nomlaridan foydalaning
- Kodingizni toza saqlang va tartibli bo‘lishi uchun chekinishlardan (indentation) foydalaning
- Funksiyalarni qisqa va bitta vazifaga yo‘naltirilgan holda yozing
- Sikllar yoki shartlar kutilganidek ishlayotganini tekshiring
- Xato xabarlarini diqqat bilan o‘qing — ular ko‘pincha muammo aynan qayerdaligini aytib beradi
Keyingi bobda kodingizni qanday debugging qilishni — dasturingizdagi xatolarni (bug) qanday topish va tuzatishni o‘rganasiz.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
