Задать вопрос
  • Почему Ctrl + D не дает коду выполняться дальше, а просто завершает программу?

    @res2001
    Видимо исключение в ходе cin.get и вылет программы из-за него.
  • Почему оператор `operator=` в классе `Vector` принимает `const init_l& l`, а не `const init_l l`, и как он работает с передаваемым сп. иниц.?

    @res2001
    unixilus,
    То есть C++ автоматически передает

    Да, при вызове, передача аргумента по ссылке ни чем не отличается от передачи аргумента по значению. Ссылка или значение - определяет вызываемая функция, а не вызывающая.
    В этом смысле с указателями понятнее - тут надо явно передавать указатель. Отличаться от передачи по значению будет как вызывающий код так и вызываемый.
  • SDL и Valgrind, как проверить утечки в своем коде?

    @res2001
    Рискну предположить, что утечка в SDL связана с тем, что ты чего-то не освобождаешь в своем коде. Просто valgrind не настолько умен, чтоб определить еще и точную причину утечки - он просто показывает, что вот тут была выделена память (в SDL при захвате ресурса) и она не была освобождена, т.е. ты ресурс не освободил. Виновник утечки не SDL, а твой код.
    С утечками памяти часто бывает так - место утечки ты установишь инструментарием (valgrind и т.п.), но причину должен найти самостоятельно. Иногда найти причину бывает довольно трудно.
  • Как разумно поставить себе начало в программировании (C++ и C#)?

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

    В точку! Хватит размышлять и мечтать. Начинай писать код. Умение программировать само не придет, его надо тренировать.
  • Почему pause в cmd скрипте не предотвращает закрытие окна?

    @res2001
    Drovosek01, Мой ответ уже есть, просто выберите его решением.
  • Почему pause в cmd скрипте не предотвращает закрытие окна?

    @res2001
    Drovosek01,
    Мне нужен аналог функций как в других языках

    Как вариант функции можно выделять в отдельный командный файл и так же его вызывать через call. Работает аналогично функциям.
  • Почему pause в cmd скрипте не предотвращает закрытие окна?

    @res2001
    @echo off
    
    set "path_bin_1=d:\TEMP\test.exe"
    call :testname "%path_bin_1%"
    
    echo "%path_bin_1%"
    echo "%filename%"
    
    pause
    goto :eof
    
    :testname
    echo %~1
    set file=%~1
    set filepath=%~dp1
    set filename=%~nx1
    goto :eof
  • Почему pause в cmd скрипте не предотвращает закрытие окна?

    @res2001
    Drovosek01,
    Мне это не нужно. Мне нужен аналог функций как в других языках

    Метка-функция - это и есть аналог функции в других языках, другого тут не дано. Хорошо хоть это есть
    это только часть скрипта

    У тебя после goto:eof идет вывод и пауза - ну они не работают в этом случае.
    Конкретно по приведенному фрагменту - делай как я сказал.
    Хочешь подсказку по полному скрипту, покажи его весь.
  • Почему pause в cmd скрипте не предотвращает закрытие окна?

    @res2001
    Drovosek01, Просто удали эту строку, она тут не нужна, если ты хочешь получить вывод и паузу
  • Зачем в cmd bat (командной строке) создали режим enabledelayedexpansion?

    @res2001
    Стандартные переменные %VAR% такого не могут.

    Вполне могут.
    Ты можешь изменять переменные и следом использовать новые значения.
    Но это работает вне операторов for и if. В этих операторах другой синтаксис обращения к переменным, выше объяснил почему.
  • Где в Windows хранятся свойства ярлыков?

    @res2001
    Kirgus,
    но официальный установщик уже давно не работает с Белорусских и Российских IP(((

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

    Кстати qt creator и его сборки есть на гитхабе. Можно просто брать от туда свежачок. Гитхаб пока не забанили для нас :-)
    https://github.com/qt-creator/qt-creator/releases
  • Как написать вариадический оператор по SFINAE для умного указателя на Т, который может быть функцией?

    @res2001
    Для защиты от выгрузки DLL ваш умный указатель должен так же принимать в параметре и дескриптор открытой DLL. При вызове проверять средствами ОС, существует ли до сих пор дескриптор. Если не существует, то указателю можно присвоить какое-то не корректное значение и уже в следующий раз ничего не проверять.

    То же самое можно сделать, написав функцию обертку над функцией DLL, в которой будет все это проверяться.

    Обычно проще один раз грузить DLL при старте и получать указатели на функции, которые будут валидны все время выполнения программы. Тогда можно в принципе не заморачиваться на какую-то сложную защиту.

    Если же вам нужен именно вариант с загрузкой/выгрузкой DLL в ходе работы приложения, то надо что-то придумывать. Но отталкиваться надо не от указателей на функции, а от дескриптора библиотеки. Т.к. если дескриптор не валиден, то все указатели на функции этой библиотеки становятся не валидны автоматически.
    По идее, тут надо логикой программы гарантировать, что если библиотека была выгружена, то уже никогда не будет вызвана функция библиотеки. Другими словами, если в программе еще нужна функция из библиотеки, то библиотека не должна выгружаться. Например при получении адреса функции можно увеличивать счетчик ссылок дескриптора DLL, когда функция становится не нужной - счетчик уменьшать. Когда счетчик ссылок DLL будет 0 - библиотеку можно выгрузить.
  • Как написать вариадический оператор по SFINAE для умного указателя на Т, который может быть функцией?

    @res2001
    Павел Соколов, По моему этим вариантом вы проблему вообще ни как не решаете.
    DLL может быть выгружена, а указатель при этом останется, только он теперь будет указывать в не распределенное пространство памяти. И вызов функции через этот указатель приведет к падению программы.
  • Где в Windows хранятся свойства ярлыков?

    @res2001
    Kirgus, Рабочая папка в ярлыке при запуске программы преобразуется в текущий каталог в окружении запущенной программы. Но если путь не существует, то система подставляет какой-то свой (предположительно %SystemRoot%\system32). И если программа прекрасно работает с "каким-то" путем, то она скорее всего будет так же прекрасно работать с любым другим путем. Думаю нет смысла беречь этот не существующий путь. Вы можете скопировать оригинальный ярлык куда-нибудь, рабочий ярлык исправить и поработать какое-то время. Когда убедитесь, что все нормально, можно и копию будет грохнуть. Работа нормально написанной программы не должна зависеть от текущего каталога, т.к. этот фактор всегда может поменяться по независящим от программы причинам.

    На сколько я знаю Qt Creator к системе не привязывается и вроде бы его можно просто переложить в другое место и он будет работать от туда. Хотя я таких экспериментов не проводил. Предпочитаю ставить в другом месте с нуля. Даже если после переноса что-то не заработает, то можно запустить Maintenanse Tools и выполнить восстановление. Как-то так вижу.
  • Какие самые большие пакеты пропускает ping в windows и как задать минимальную задержку между отправкой?

    @res2001
    Сайты открываются через раз

    Чем вам помогут большие пинги и уменьшение задержек на отправку? Кроме того в винде нельзя отрегулировать скорость отправки пингов. Можно задать только время ожидания ответа.

    Просто запустите вечный пинг (опция /t) и посмотрите как плавает время.
    Если случаются большие провалы по времени ответа или вообще пропадание ответов, то возможны проблемы:
    0. в вашем оборудовании
    1. у провайдера, пожалуйтесь прову на большие задержки, пусть исправляет ситуацию.
    2. возможно это проблемы на стороне удаленного хоста, тогда жаловаться надо его владельцам

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

    @res2001
    Kirgus,
    А если указан несуществующий путь, то ты не сможешь внести другие правки в свойства этого ярлыка. Винда просто не позволит применить изменения...

    Есть такое.
    Программно можно создать ярлык можно с помощью WSH (JS/VBS) скрипта, там есть соответствующий объект. Можно ли поправить свойства существующего ярлыка - не знаю. Наверное есть соответствующие средства и в power shell.
    Но! Скажите нахрена вам в ярлыке не существующая рабочая папка? Если не знаете что указать - укажите %SystemRoot%\system32
    В конце концов, создайте этот путь временно, поправьте ярлык и удалите.
  • Как исправить ошибку NameError: 'BoolVariable' is not defined при создании c++ сборки в godot-cpp?

    @res2001
    Эту ошибку компилятор выдает при сборке исходников. Ошибка в программе. Надо смотреть исходники. Начать с того места, куда отсылает ошибка и дальше раскручивать.
    Похоже, что переменная используется, но нигде не определена. Надо определить.

    PS: scons не при делах, лучше выкладывать текстом, а не скринами.
  • Как увидеть русские символы в обычной строке в отладчике Visual studio?

    @res2001
    Дмитрий Зеленев, Если пользуетесь компилятором с поддержкой C++20, то можете поэкспериментировать с char8_t и u8string. Можно строку читать в массив char8_t, строковое представление делать с помощью u8string_view, а для записи в xlsx преобразовывать указатель на массив в char*. Только, видимо, надо будет озаботится самому наличием завершающего нуля в конце массива.
  • Как увидеть русские символы в обычной строке в отладчике Visual studio?

    @res2001
    Дмитрий Зеленев, Для UTF8 нужно использовать wstring. string для однобайтовых кодировок.
  • Как увидеть русские символы в обычной строке в отладчике Visual studio?

    @res2001
    Строка то откуда взялась? Из файла? В какой кодировке она в файле?