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

    0

    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
    22. 22
    #define REGISTERS_LIST A, B, C, D, E, SI, BP, SP, IP
    #define LREGISTERS_LIST AH, AL, BH, BL, CH, CL, DH, DL, EH, EL, SIH, SIL, BPH, BPL, SPH, SPL, IPH, IPL
    
    enum RegisterID
    {
    	REGISTERS_LIST,
    	LREGISTERS_LIST
    };
    
    const static std::string registerId2registerName[] = {
    #define _MAP(x) #x
    	MAP_LIST(_MAP, REGISTERS_LIST),
    	MAP_LIST(_MAP, LREGISTERS_LIST)
    };
    #undef _MAP
    
    const static std::map<std::string, RegisterID> registerName2registerId = {
    #define _MAP(x) {#x, x}
    	MAP_LIST(_MAP, REGISTERS_LIST),
    	MAP_LIST(_MAP, LREGISTERS_LIST)
    };
    #undef _MAP

    покруче гомоиконности

    digitalEugene, 30 Октября 2021

    Комментарии (26)
  2. C++ / Говнокод #27774

    0

    1. 1
    2. 2
    3. 3
    4. 4
    const boost::escaped_list_separator<char> els("\\"s, " \n\t"s, "\"");
    
    boost::replace_all(src, "\"", "\"\\\"");
    const boost::tokenizer tok(src, els);

    els не умеет в keeping quotes хнык хнык

    digitalEugene, 30 Октября 2021

    Комментарии (0)
  3. C++ / Говнокод #27768

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    auto DivisibleBy = [](int d)
        {
            return [d](int m) { return m % d == 0; };
        };
     
        if (ranges::any_of(v, DivisibleBy(7))) {
            std::cout << "At least one number is divisible by 7\n";
        }

    https://en.cppreference.com/w/cpp/algorithm/ranges/all_any_none_of

    digitalEugene, 26 Октября 2021

    Комментарии (73)
  4. C++ / Говнокод #27761

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for (k = k + 0, j = 0; j < m; j++)
    {
        b[k] = mat[i][j];
        cout << b[k];
    }

    Увидел в лабе у чела из универа. Почему бы лишний раз не присвоить k собственное значение

    VladimirM4K, 21 Октября 2021

    Комментарии (11)
  5. C++ / Говнокод #27758

    0

    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 <string>
    #include <iostream>
     
    int foo() {
    	std::string str = "file://*";
    	std::cout << str << std::endl;
    	return 0;
    }
     
    /*
    int bar() {
    	std::string str = "file://*";       // warning: '/*' within block comment [-Wcomment]
    	std::cout << str << std::endl;
    	return 0;
    }
    */
     
    int main() {
    	foo();
    	//bar();
    }

    Какой багор

    https://ideone.com/NiXH2q

    3_dar, 19 Октября 2021

    Комментарии (12)
  6. C++ / Говнокод #27706

    0

    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
    22. 22
    #include <functional>
    #include <string>
    
    void rooster(uint32_t number)
    {
    
    }
    
    void rooster(std::string& str)
    {
    
    }
    
    int main()
    {
        //не осилил ни один компилятор
        std::function<void(std::string&)> f = std::bind(&rooster, std::placeholders::_1);
        //осилил gcc6.1+, но не может осилить clang 13.0
        std::function<void(std::string&)> f2 = std::bind<void(std::string&)>(&rooster, std::placeholders::_1);
    
        return 0;
    }

    Почему компиляторы крестов не могут сами разрулить ситуацию?

    mvngr, 08 Октября 2021

    Комментарии (12)
  7. C++ / Говнокод #27694

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #include <iostream>
    
    int main() {
        std::cout << "Hello, shhhit!";
    }

    std__unique_ptr, 29 Сентября 2021

    Комментарии (17)
  8. C++ / Говнокод #27691

    0

    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
    // этот код дает Segment Fault
    
    struct TypeNames
    {
        std::string typeName;
    };
    
    class LLVMRTTIHelperVCLinux
    {
        SmallVector<TypeNames> types;
    }
    
    // a этот нет
    
    class LLVMRTTIHelperVCLinux
    {
        SmallVector<std::string> types;
    }

    ну и гавно этот ваш Clang. MSVC работает, GCС работает а Clang нет

    ASD_77, 29 Сентября 2021

    Комментарии (29)
  9. C++ / Говнокод #27678

    +1

    1. 1
    for (double x = xn, p = 1, n = 0, y = 0; x > xk ? cout<<p<<' '<<n, false : true; x += dx, y = cos(x) + x*5. / 2, y > 0 ? p *= y : y < 0 ? n++ : n );

    Попросили помочь с задачей:
    > Определить произведение негативных и количество позитивных значений функции y=cos(x)+x*5./2, если значение x изменяется от xn до xk с шагом dx.
    Я постарался, как мог, всё-таки язык мне не очень близок (немного помогли). Возможно, ещё есть, куда "улучшить".

    MetallDoctor, 23 Сентября 2021

    Комментарии (90)
  10. C++ / Говнокод #27677

    0

    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
    а давайте сравним размеры скомпилированного EXE под Винду и Убунту и посмотрим сколько лет надо ждать когда это Г будет собранно в ЕХЕ файл
    
    windows: (+pdb)  
    tsc.exe   159M
    tsc.pdb  872M
    
    ubuntu: (+debug info)
    tsc               1290M (из них debug info 1153M)
    
    
    а вы знаете сколько лет мне надо ждать что бы скомпилять такие файлы? особенно на убунте?
    
    И какой "ур-д" предлагал мне использовать убунту а не винду :)?

    сабж в теме

    ASD_77, 22 Сентября 2021

    Комментарии (184)