ใน C ++ มันเป็นวิธีปฏิบัติที่ไม่ถูกต้องหรือไม่ในการสร้างบล็อกของโค้ดภายในฟังก์ชั่นบางอย่างเช่นต่อไปนี้:
bool f()
{
{
double test = 0;
test = // some other variable outside this function, for example.
if (test == // some value)
return true;
}
{
double test = 0;
test = // some variable outside this function, different from the last one.
if (test == // some value)
return true;
}
return false;
}
จุดประสงค์ของการทำเช่นนี้คือการใช้ชื่อตัวแปรเดียวกันของ "ทดสอบ" หลายครั้งสำหรับขั้นตอนประเภทเดียวกัน ในความเป็นจริงโครงการของฉันฉันมีหลายตัวแปรและกำลังทำการทดสอบหลายครั้ง ฉันไม่ต้องการสร้างตัวแปรใหม่ที่มีชื่อแตกต่างกันสำหรับการทดสอบแต่ละครั้งโดยพิจารณาว่าการทดสอบมีความคล้ายคลึงกันอย่างไร
มันเป็นการปฏิบัติที่ไม่ถูกต้องหรือไม่ที่จะแทรกบล็อกของรหัสเพื่อให้ตัวแปรไม่อยู่ในขอบเขตหลังจากการทดสอบแต่ละครั้งและจากนั้นฉันสามารถใช้ชื่อของพวกเขาอีกครั้งได้หรือไม่? หรือฉันควรหาทางออกอื่น? ควรสังเกตว่าฉันพิจารณาใช้ชุดตัวแปรเดียวกันสำหรับการทดสอบทั้งหมดของฉัน (และเพียงตั้งให้เป็น 0 หลังจากการทดสอบแต่ละครั้งสิ้นสุดลง) แต่ฉันรู้สึกว่านี่อาจเป็นวิธีที่ไม่ดี