Блог пользователя khokho

Автор khokho, история, 7 лет назад, По-английски

Are you tired of writing make_pair and not being able to use auto-s on some judges? Well introducing one line of code which will solve all your problems:

#pragma GCC diagnostic warning "-std=c++11"

So hurry up and use it already.

This trick will probably work on 99% of sites.

  • Проголосовать: нравится
  • +84
  • Проголосовать: не нравится

»
7 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Странно что работает: https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html: по механизму, это расчитано только на опции предупреждения, причём на фрагменты файла (обращаем внимание на push и pop), поэтому этот флаг не должен прям работать...

It's quite strange that it's working: https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html by the docs, it should work only with warnings on given file segments (mind push and pop), so that it shouldn't work with std flag...

  • »
    »
    7 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    В дополнение к этому, у меня этот трюк не работает с GCC 7: он и так принимает циклы и auto потому что что он использует 11 стандарт по умолчанию, а попытка заиспользовать С++17 через прагму провалилась.

    On top of that, it's not working for me in GCC 7: while it actually accepts for-loops and autos, that's because it uses C++11 by default; trying to provide pragma for C++17 and use it's features failes miserably.

»
7 лет назад, # |
  Проголосовать: нравится +28 Проголосовать: не нравится

You're late, I'm already tired of not being able to use for (auto& [key, value]: map).

»
7 лет назад, # |
  Проголосовать: нравится +34 Проголосовать: не нравится

When people say something works in 99% cases, it's usually around half.