用C/C++声明变量

rel*_*l1x 4 c c++

有人告诉我:"声明接近其使用的变量具有价值".他纠正了我:

void student_score(size_t student_list_size) {
  // int exam;
  // int average;
  // int digit;
  // int counter_digits;

  for (size_t i = 0; i < student_list_size; i++) {
    int exam;
    int average;
    int digit;
    int counter_digits;
Run Code Online (Sandbox Code Playgroud)

我认为这很糟糕,因为这里变量初始化了每个循环.什么是真的?

wan*_*sky 5

我鼓励尽可能在本地范围内声明它们,并尽可能接近第一次使用.这使读者更容易找到声明,并查看变量的类型和初始化的内容.当然,编译器会优化它.