Задать вопрос
  • C++ шаблон в шаблоне как?

    @Koss1024
    QueueList<listStruct<int> > queue;

    не забудьте пробельчик перед последним '>'
    (в С++ 11 пофиг)
    Ответ написан
    Комментировать
  • Есть ли сертификационные программы по языку C/C++?

    @Koss1024
    Я не смотрю на сертификаты и почти не смотрю в резюме пытаясь нанять С++ Senior
    Не тратьте время

    Лучше просто станьте профессионалом
    Ответ написан
    1 комментарий
  • Как передать двумерный массив в функцию в виде параметра в C++?

    @Koss1024
    Нужно понимать, что массив в С = указатель на память
    Соответственно двумерный массив = это указатель на память и еще понимание сколько элементов в каждой строчке таблицы

    a[m][n] тоже что *(a+ sizeof(type)*n + m)

    Именно поэтому при передаче параметров в функции нужно явно указать количество элементов в строке
    void foo(float arr[2][2])
    void foo(float arr[][2]) // или так достаточно
    Ответ написан
    Комментировать
  • Почему обнуляется статический член класса?

    @Koss1024
    weak_ptr не владеет объектом
    объект указателя будет уничтожен кем-то из вне. А именно когда все shared_ptr объекты будут уничтожены

    На самом деле код весьма запутан.
    Из за того что у вас есть friend не возможно ничего сказать о безопасности приватных конструкций
    Без кода класса менеджера вообще ничего не понятно.

    Скорее всего вы сами его и обнуляете в менеджере не созданным объектом.

    Совет: используйте SRP не объединяйте сущности
    Counter должен считать и не следить за тем кто теперь текущий
    A какой нибудь CurrentCounter - статический член, глобальная переменная или синглтон - отдельный объект

    и проблем не будет

    ----

    Все же я дополню

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

    Что вы хотите от этого счетчика? Зачем он нужен? Зачем переключать глобальный текущий?
    Какую задачу он решает?

    Я серьезно. Вопросы архитектуры очень важны.
    Ответ написан
  • Как понять конструкцию "указатель на указатель"?

    @Koss1024
    Вот с картинками.
    cppstudio.com/post/9555
    Ответ написан
    Комментировать
  • Что необходимо знать для написания чата на С++?

    @Koss1024
    Для IPC попробуйте xтото более современное DBus например или из того же boost
    Потоки С++ 11 threads (Concurrent programming in action C++ book) или boost threads
    А как он может быть консольным если игра графическая?
    Ответ написан
  • Как справиться с неправильным нулем в C++?

    @Koss1024
    Это https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D1%88%D...

    Нужно понимать принципы работы чисел с плавающей точкой если вы работаете с математикой
    Именно поэтому такие числа напрямую не сравнивают, а сравнивают разность по модулю с eps
    if(abs(a-b) < 1e-10) // то числа равны число не совсем от балды
    при обращении матриц порядок погрешности можно вычислить для маленьких и хорошо обусловленных матриц это весьма точно. Но чаще это число куда меньше

    Следующая проблема которая у Вас возникнет плохое обращение
    Читайте про число обусловленности матрицы

    Кстати говоря обратную матрицу так искать дело неблагодарное :)
    Численные методы алгебры вам в помощь

    Самый простой для понимания LU разложение и его PLU модификация
    Практически применяют разные для разных задач. Как правило о матрице что-то известно заранее
    Ответ написан
  • Какой выбрать математический аппарат для приложения?

    @Koss1024
    Транспортная задача со складами.
    Ответ написан
    Комментировать
  • Как выучить c++?

    @Koss1024
    Я дам ссылку на свой же ответ. Там очень много расписано
    Как восстановить знания по C++ на сегодняшний день?
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать?

    @Koss1024
    С++ разработчик яву выучит всегда
    Явист С++ выучить может не каждый

    С++ огромный порог вхождения
    Ответ написан
  • Как запустить system с нюансами?

    @Koss1024
    1. Отследить можно по коду возврата функции system это и будет тот самый return который в main написан 1

    2. на С++ 11 породить поток можно для система
    в С++ 03 std::system("start command") // под винду

    Общим решением будет использовать кросплатформенную либу
    boost::process
    boost::filesystem
    вам помогут
    Ответ написан
  • Как восстановить знания по C++ на сегодняшний день?

    @Koss1024
    0. Прочитайте Страуструпа последнее издание (англ). Если язык вы знали то это лучшая книга чтобы обновить знания

    1. C++11 C++14, в производстве чаще пока еще С++03
    2. Лучший компилятор clang++ (поддерживает любой стандарт и любую платформу)
    3. boost это набор библиотек на все случаи жизни самый хорошо сынжинереный. Стоит писать не под него а с использованием
    4. пункт 3
    5. C++ для задач требующих точного понимания стоимости каждой операции, это embedded DSP Server computing
    Math много чего еще

    Учтите, С++ это инструмент который нужно учить постоянно

    Дополню
    -----------
    С++ мультипарадигменный
    А так же много уровней абстракции поддерживает

    На нем можно писать как на чистом С - это самый низкий уровень
    Можно ООП и абстракции
    Можно паттерны
    А можно функциональный стиль

    С С++ в этом и проблема что знать нужно очень много.

    Я могу сказать что я читал на протяжении своей карьеры
    Прежде всего я умел программировать и имел представление об алгоритмах и модели памяти
    (что такое указатели, алокация удаление и т д)

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

    Потом Страуструп (тогда это было издание по стандарту 03). Здесь я дополнил свои знания деталями которые пропустил при самостоятельном изучении. Тут стоит отметить что Страуструп весьма странная книга и написана тяжело. Секцию же ООП вообще там лучше не читать (самая последняя).

    Где-то рядом я прочитал Гради Буч - ООА и ООП с примерами применения. Очень хорошая кика чтобы понять к чему все это придумали вообще. Сильно выправляла мозги

    Потом был Керниган и Ричи Язык программирования С. Эту я прочитал просто от безделья, но теперь считаю что это было необходимо. Здесь можно понять зачем придумали именно С. И насколько там все просто, задумано.

    Следом пошли техники: Герб Саттер Решение сложных задач на С++ и Новые сложные задачи С++
    читать обязательно, разобрано много костылей и проблем языка. Дано очень много дельных советов

    С Мейерс - Эффективное использование С++ туда же. Прекрасный разбор.

    Макконнел - Совершенный код. Очень крутая книга. Она отшлифует уже почти бриллиант.

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

    Отдельного внимания заслуживает книга Банды четырех (Паттерны).
    Я ее с трудом дочитал, читал ее я уже аж после всего перечисленного и после примерно 7-8 лет опыта С++.
    Я уже давно был Senior dev. и наконец нашел таки время и для нее. Она мне показалась до ужаса скучной и очевидной, поскольку почти все предложенные решения я придумывал и сам неоднократно. Кроме того, большинство этих решений неоправданно тяжелы, и очень запутывают код. Тема холиварная и спать надо много, но я пожалуй остановлюсь только на том что в моей практике, худшими с точки зрения цены ошибок были разработчики которые учились начиная с этой книги. Их код недодерживаем запутан и очень плохо поддается рефакторингу. Такой код имеет самые долго отлеживаемые ошибки.

    Где-то рядом я прочитал Фаулера - Рефакторинг. Вполне себе неплохо. Рекомендую. Но тут стоит к опытному коллеге обратиться. Идея то проста Тесты - Маленькие комиты - YAGNI KISS и SRP но детали лучше познавать на практике.
    У меня был хороший лид, который меня в конце концов научил :)

    Совсем забыл! Александреску же! Скажем так - не так страшен Александреску как тот кто его начитался :)
    Фана доставил много, а так же дал возможность на эти игрища потерять около 3-х месяцев работы. Даже не знаю
    стоит ли читать. Наверное стоит, но нужно помнить что на практике лучше не использовать если вы уже не эксперт.

    Остальное С++ не касается, но чтобы стать профессионалом Вам потребуются алгоритмы и структуры данных (Кормен, Кнут), многопоточность (Энтони Уильямс), другие языки(питон, JS, java), оптимизация и профилирование.
    и много много разных специфических знаний

    Удачи Вам в этом нелегком но, безусловно, интереснейшем пути :)
    Ответ написан
    7 комментариев
  • Как узнать процент прошедшего времени?

    @Koss1024
    На сколько я понял вы отображаете процент от прошедших 10 минут начиная со времени START до NOW
    Я вот только не понял что такое TOTAL? Это 100% или как?

    то есть прошло времени:
    passed = now - start

    Это составляет:
    percentage = 100% * passed/interval = 100 * (now-start)/interval // final formula
    процентов от вашей переменной INTERVAL.

    На сколько я понимаю это и есть прогресс.

    Чтобы проверить корректность пишут тесты:
    Проверим краевые условия:
    при 0 прошедшего времени:
    passed = now - start = 0
    percentage = 100% * 0/interval = 0%

    при времени равном now = interval+start
    passed = now - start = interval+start-start = interval
    percentage = 100% * passed/interval = 100% * interval/interval = 100%

    посредине получится 50% соответственно.

    Вы это хотели получить?
    Ответ написан
    Комментировать
  • Какие самые сложные нерешенные задачи в IT отрасли вы знаете?

    @Koss1024
    Я считаю важнейшей равенство/неравенство классов P и NP.
    И очень желательно чтобы если равно, то подход позволил бы уверенно конвертить задачи из одного класса в другой. Это была бы научная революция величайшего масштаба для всего человечества и для всех отраслей сразу, а не только для IT

    Вы путаете нерешенные проблемы с инженерными задачами.
    Выше Вы спросили про написание "убийцы" Windows в этом контексте
    Написание операционной системы это инженерная задача. И она вполне себе решена.
    Unix, linux, QNX, MacOS.

    Убить windows - это вообще бизнес задача.
    Кроме того на каком поприще убивать то?

    (чтобы не было холивара - на всех поприщах есть и винда, даже во встроенных системах, я лишь указал лидеров)

    Сервера? - там линукс и юникс
    Встроенные системы? - линукс юникс QNX
    Системы реального времени? QNX
    Отказоустойчивые, атомные станции там? QNX
    Математика, физика? линукс юникс
    Рабочая станция разработчика (веб, сервера, встроенные системы, реального времени)? линукс, MacOS
    Рабочая станция дизайнера? Mac
    Рабочая станция обработчика видео? Тоже Мас

    Игровая платформа? Тут среди ПС винда пока лидер, но для игр есть консоли, и настоящий рынок пока что там. Кроме того диву даюсь на что способны уже IPhone+AppleTV и аналоги от гугла уже. То ли еще будет.

    Десктоп для большинства? Чтоб серфить котиков, не нахвататься вирусов и играть в казуалки планшет куда удобнее, и планшеты этот рынок уверенно захватывают. Десктоп для большинства простых задач почти сдох

    Windowns + МС Офиc.? Майкрософт активно поддерживает эту связку в корпоративной среде, но и здесь рынок потеснил их. Офисный пакет доступен теперь и на Маке и на Айпадах (а иначе альтернативы его задавят в будущем)

    Ноуты? Мак, Линукс, Хром ОС (винда лидер по причине описанной ниже)

    Windows лидер все еще по многим причинам (договора с производителями оборудования), поддержка корпоративных систем (просто так не слезешь), куча старого софта и тд

    Но все эти причины точно не относятся к разряду проблем IT, это скорее задачи бизнеса и маркетинга.
    К IT можно отнести лишь поддержку старого софта.
    Для Доса эту проблему решили эмулятором
    Для винды парни из ReactOS воюют.

    Надеюсь я достаточно подробно ответил почему написание "убийцы Windows" это
    - не нерешенная
    - не проблемы
    - и не из IT

    прям как свинка морская
    Ответ написан
    Комментировать
  • Чем сделать визуализацию плотности?

    @Koss1024
    Такими задачами обычно интересуются исследователи сред и полей, то бишь математики и физики
    Много статей на эту тему написаны в среде Matlab

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

    blogs.mathworks.com/pick/2007/12/13/visualizing-th...

    www.mathworks.com/matlabcentral/fileexchange/45949...
    Ответ написан
    Комментировать
  • Какие темы/книги по математике минимально необходимы программисту для изучения криптографии?

    @Koss1024
    Теория алгоритмов
    Теория чисел
    Теория вероятностей (дискретная).
    Алгебра
    Ответ написан
    Комментировать