Как писать код чище С++. Для новичков

Правка ru2, от Lapoux, 2026-08-03 16:06:06

Привет, Codeforces!

  • Хочу поделиться короткой фишкой из C++17, о которой многие до сих пор забывают, хотя она делает олимпиадный код в разы аккуратнее.
  • Так можно делать абсолютно со всеми структурами.
  • Eсли раньше вы писали

struct edg {
    int fr, sc;
};

int main() {
    vector <edg> edges;
    
    ...
    
    for (int i = 0; i < (int) edges.size(); ++i) {
        int fr = edges[i].fr;
        int sc = edges[i].sc;
        
        ...
    }
}
  • То начиная с С++17 можно писать так.
struct edg {
    int fr, sc;
};

int main() {
    vector <edg> edges;
    
    ...
    
    for (auto& [fr, sc] : edges) {
        ...
    }
}

  • Что так же уменьшит потребление памяти, потому что вы не будите копировать значения, а будите брать по сылке. Так же это добавит чистоту вашему коду

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
ru2 Русский Lapoux 2026-08-03 16:06:06 13
ru1 Русский Lapoux 2026-08-03 09:32:39 890 Первая редакция (опубликовано)