Как стать автором
Обновить
-8
0
Дмитрий @dim2r

Программирование

Отправить сообщение

Можно попроще найти применение -- сохранение объектов. Вместо того, чтобы всех наследовать от класса Serializable -- в своем классе делаешь ф-ю Serializе() и она подхватывается автоматически. В общем не надо создавать божественные классы, которые все другие классы должны использовать. Потом этот божественный класс будет настолько страшно поправить, что никто не захочет туда лезть ибо он будет влиять чуть ли ни на всё.

Когда у человека все есть, то следующее, с чем он сталкивается -- это непостоянство. Тело стареет, времена меняются, приходят другие люди, погода меняется, настроение меняется, курс валют меняется, что-то происходит внезапно. Попробуйте этим всем наслаждаться...это порой непросто

Через https://cppinsights.io/ кое что можно прояснить,

Но хотелось бы не гадать на стандарте, а точно знать что компилятор думает о той или иной конструкции

добрый день! не подскажите, можно ли сделать так, чтобы компьютер изображал из себя клавиатуру или мышь ? можно ли сделать HID host ?

В алгосах нет ничего плохого, просто их надо уметь готовить правильно и не верить в сказки. В конце концов замер времени является критерием эффективности. Можно например, зная математику обскакать ln(N) на приемах из N^2, потому что на определенном участке значений бывает O(N^2) < O(ln(N)). Поэтому, если задача разбивается на маленькие подзадачи, то можно решить быстрее, чем ln(N). Могу даже привести конкретную задачу, где хваленый индекс строится в 10 раз дольше, чем перебор с N^2.

Осталось еще на уровне ядра сделать сборщик мусора.

Скажите, а стахановец можно обмануть с помошью програмного эмулятора клавиатуры типа AutoHotKey или надо на rasberry делать hid устройство ???

Добрый день! Подскажите, а каким образом получить supplier-id по api ключу ??

интересно, а компилятор может выдать информацию, какие выражения к какому типу относятся ??

Погоду например нельзя предсказать на год вперед, так как она зависит от очень незначительных явлений, которые случайным образом складываются.

Вообще в мире много принципиально непредсказуемых явлений. Если что выпадет в казино в рулетке как-то можно предсказать, то квантовая вероятность вообще непредсказуема.

вместо тысячи слов можно просто скомпилировать и проверить


    int a=0;
    int b=0;
     
    (true ? a : b) = 1;
    std::cout << "a=" << a << "b=" << b << "\n";
    (false ? a : b) = 1;
    std::cout << "a=" << a << "b=" << b << "\n";

Приколов в с++ слишком много, недавно например узнал, что тренарный оператор является и rvalue и lvalue. Попробуйте туда еще auto прикрутить, может еще какие загадки появятся.

(true ? a : b) = 1; //a=1
(false ? a : b) = 1; //b=1

Открою секрет, сам питон написан почти без ООП, Сплошные процедуры. Но народу почему-то внушают пользу ООП

У мигрантов прав больше, чем у аборигенов. Интересное кино.

Не раз встречался с ситуацией, когда на собесе спрашивают что-то умное, красивое и интересное. Но потом в реальном проекте погружают в такую чачу, что голова становится квадратной через неделю, а глаза читают любой код, даже самый корявый без эмоций. Реальные проблемы в коде, они не обложены ни комментариями ни красивым форматированием. Найди проблему в коде 20 летней давности и станешь внедорожным программистом, которому наплевать на любую грязь. Вот это я называю hard-skill. А украшение - это soft-skill.

По мне только запутывает технарей. Начиная с самого названия, которое ничего не обещает
"бандa четырёх". И кончая отсутвием деталей, например бинарного интерфейса, который например предусмотрен в более проработанной модели COM.

Можно ловить двойные исключения из деструкторов, которые считаются, что они смертельны для программы. Небольшая утечка возможна, но программа продолжает работать.

    std::set_terminate([](){
        std::cout << "Unhandled exception "<<" uncaught_exceptions["<<std::uncaught_exceptions()<<']'<<"  \n" << std::flush;
        cout<<"begin long jump\n";
        longjmp(jmpBuf,1);
    });

    if(setjmp(jmpBuf)==0) {
        
            try {
                .......  // <<<  возникает двойное исключение в деструкторе
            } catch (...) { 
                cout << "catch\n"; // сюда не доходит, а идет в set_terminate
            }
        

    }else{
        cout<<"longjump completed";
    }
    

Можно конечно самому изобретать алгоритмы аллокации, но можно ввести свободные внешние гиперпараметры программы. Далее путем запуска программы с разными параметрами и путем перебора этих параметров выбрать оптимальные. Так делают например в машинном обучении.

1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Самарская обл., Россия
Зарегистрирован
Активность