Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

เหตุใดการละเว้นวงเล็บปีกกาใน C/C++ จึงถือเป็นการปฏิบัติที่ไม่ดี


ใน C ++ เราสามารถละเว้นวงเล็บปีกกาหลังคำสั่ง if-else หรือหลังลูปใดก็ได้ ถ้าเราไม่ใช้วงเล็บปีกกา คำสั่งเดียวหลังจาก if-else หรือ loop จะถูกพิจารณาภายใต้บล็อกนั้น ตัวอย่างเช่น −

if(condition) {
   Line 1
   Line 2
}

if(condition)
Line 1
Line 2

ในกรณีแรก Line1 และ Line2 ทั้งคู่อยู่ในบล็อก if แต่ในเงื่อนไขที่สอง Line1 อยู่ในถ้าถูกบล็อก แต่ Line2 ไม่อยู่ในถ้าถูกบล็อก ดังนั้นเราจึงละเว้นวงเล็บปีกกาได้เพียงมีคำสั่งเดียวภายใต้ if-else หรือ loop

บางครั้งเพื่อจุดประสงค์ในการดีบักเราก็แค่แสดงความคิดเห็น เมื่อใช้สิ่งนี้ เราจะตรวจสอบเอฟเฟกต์ของเอาต์พุตโดยไม่มีคำสั่งนั้น ในช่วงเวลานั้น if-else หรือ loop ที่ไม่มีเครื่องหมายวงเล็บปีกกาทำให้เกิดปัญหา ตัวอย่างเช่น −

if(condition) {
   Line 1
}
Line2

if(condition)
Line 1
Line 2

ในทั้งสองกรณี Line1 อยู่ในบล็อก if แต่ Line2 ไม่ได้อยู่ในบล็อก if ดังนั้นหากเงื่อนไขล้มเหลวหรือเป็นไปตาม Line2 จะถูกดำเนินการเสมอ ตอนนี้หากสถานการณ์เป็นเหมือนด้านล่างเพื่อจุดประสงค์ในการดีบัก มันอาจจะสร้างปัญหาบางอย่างได้

if(condition)
//Line 1
Line 2

ถ้า Line1 ถูกคอมเมนต์ เราแค่คิดว่ามันโอเค แต่ในกรณีนี้ คอมไพเลอร์คิดว่า Line2 อยู่ใน if block แต่นั่นมันผิด ถ้าเราจัดฟันก็ไม่มีปัญหา