1. C++ / Говнокод #27838

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    #include <iostream>
    #include <cstdio>
     
    namespace std {
        namespace ios_base2 {
    	    extern struct sync_with_stdio_t {
    	    	void h(bool sync = true) {
    		    	ios_base::sync_with_stdio(sync);
    		    }
    	    } sync_with_stdio;
        }
    }
     
    int main() {
    	std::ios_base2::sync_with_stdio.h(false);
    	std::cout << "1";
    	printf("2");
    	std::cout << "3";
    	puts("");
    	return 0;
    }

    132

    https://ideone.com/NkGYUL

    Запостил: 3_dar, 25 Ноября 2021

    Комментарии (6) RSS

    • Написал тут вспомогательный класс, пользуйтесь. Никто не знает как внутрь ios_base запихать?
      Ответить
      • Что, никто не знает?
        Ответить
        • #define sync_with_stdio \
          (код из примера) \
          ; void sync_with_stdio
          #include <iostream>
          #undef sync_with_stdio

          Что-то в таком духе?
          Ответить
          • Не работает, если кто-то раньше подключил iostream, а там внутри pragma once.
            Ответить
            • И вообще нарушение ODR, если формально подходить.
              Ответить
    • А попробуй засунуть это в неймспейс my::std, а потом using namespace my.

      (my::std::ios_base будет потомком настоящего std::ios_base).
      Ответить

    Добавить комментарий