Задать вопрос
Ответы пользователя по тегу C++
  • Рекомендации по созданию приложения на C++?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Напиши веб-приложение, которое будет возвращать html/css/js страничку.
    Можно даже на хостинге его через php вызывать. Будет кроссплатформенно.
    Ответ написан
    Комментировать
  • Нужен ли клиенту private key?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Вы бы уточнили вопрос, что именно вы хотите сделать.

    Клиентский сертификат вообще не обязателен для ssl, шифрование и так будет работать.

    Но он может использоваться для авторизации или для mutual-tls
    В этом случае понятно, что у каждого должна быть свой сертификат и приватный ключ, а для подключения, нужно чтобы сервер и клиент друг другу доверяли, для чего нужно чтобы или они были выданы CA которому оба доверяют.

    Но мне кажется, что вы не совсем понимаете как и что у вас вообще работает, потому что формулирование вопроса туманно
    Ответ написан
    8 комментариев
  • Проблема изучения C++?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    C++ как прикладной язык сейчас не сильно приветствуется. Он хорош как системный язык.
    На нем легко накидать консольные утилиты.
    Для вещей типа пет проект или игрушку, юзают фреймворки, всякие QT, Boost, WT
    Или движки типа UnrealEngine, Cocos2d, X-ray, GZDoom
    Ответ написан
    Комментировать
  • Как разумно поставить себе начало в программировании (C++ и C#)?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    C++ является одним из сложных ЯП... блабла...Я осознаю, что для меня это слишком серьёзное и тяжелое начало

    Я разобрался как работает стек и как адресуется память в пятом классе без интернета и практически без документации. Была какая-то книжка по С++, которую просто перечитал раза 3-4, пока не понял смысл.

    На протяжении обучения в школе я размышлял о начале изучения языка программирования.

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


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

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

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

    А про трудоустройство начинай думать, когда при прочтении описания вакансии ты считаешь, что 50-60% ты знаешь.
    Ответ написан
    12 комментариев
  • Как получить постоянную ячейку памяти?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    "постоянная ячейка памяти" была в восьмибитных архитектурах, где вся память помещалась в одну страницу.
    Уже в ранних x386 ячейки были не постоянными а в пределах выделяемого сегмента памяти, если игра влазила в 64к.
    Начиная с защищенного режима, в котором работает современная винда, вообще нет такого понятия. Память является виртуальной, которая может быть отражена и на физическую и на своп, и в лучшем случае оффсет может быть тем же отсчитывая от начала конкретного сегмента. Потому что внезапно память у современного приложения может быть фрагментирована.
    Ответ написан
  • Есть ли фриланс на С++ с нуля?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    помогай делать контрольные школьникам и домашку студентам за деньги. Там и нулевый С++ может пригодиться. Но как обычно чем ниже квалификация тем больше конкурентов
    Ответ написан
    Комментировать
  • Как практиковаться в программировании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Забей на программирование, это не твое.

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

    Найди ту деятельность, где у тебя глаза горят.
    Ответ написан
    4 комментария
  • С++; Дескоптные приложения или веб или операционные приложения?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Начал практиковать qt, но как я понимаю написание дескоптных приложений на плюсах - такое. Тогда хочу попробовать разработку ПО, cофтов, драйверов и тд. Что можете посоветовать по изучении этой темы?


    Что значит "такое"? Сложно, долго, неудобно?
    Так да, программирование это не тяп-ляп и готово, это долго, скучно, неудобно.

    Что такое разработка ПО и софтов по-вашему? Или десктопные приложения это не ПО и не софт? А что тогда?

    Есть подозрение, что нормального уровня вы далеко не достигли, если создать десктопное приложение вызывает такие проблемы.
    Стандартная задача начинающего - написать свой калькулятор, это как раз простой пример простого десктопного приложения. Или десктопной игрушки.
    Ответ написан
    2 комментария
  • Где найти такую CLI?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    юзать environment variables?
    Ответ написан
  • С++ На всех ли платформах одинаковая точность операций с float?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Точность зависит от типов данных, которые ты используешь. float и double имеют одинаковую длину в 32бит и 64бит архитектурах.
    Ответ написан
    Комментировать
  • Как реализовать управление для двух игроков на одной клавиатуре SFML?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Советую почитать о том, что такое NKRO
    Не факт что даже если будет верным код, найдешь клавиатуру где все будет работать
    Ответ написан
    Комментировать
  • Существует ли способ принять и автоматически подставить знак операции с числами в C++?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    в баш легко. там eval есть
    в python может тоже есть какая-то либа математическая, которая умеет в.
    Ответ написан
  • Как оценить потерю дискового пространства вследствие кластерного выделения?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Код на С++ для этого писать специально никто не будет.
    Подозреваю, что просто дали задания в школе/институте.
    Ну так почитай спецификацию FAT16 системы. Она просто устроена.
    Процент всегда будет зависеть от количества файлов, их размера и размера кластера. Просто берешь и считаешь руками. Как смог посчитать руками/в экселе - садишься и пишешь код на С++
    Ответ написан
    Комментировать
  • В чём суть шутки про ноги в С/С++?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Давным давно, на диком западе пользовались не очень безопасными револьверами. Нормального предохранителя не было, заряжать револьвер - слишком долго. Поэтому ковбои часто могли ходить с заряженными револьверами. А там было несложно неудачно дернуться, и собственно выстрелить себе в ногу.

    Любой инструмент, которым нужно пользоваться аккуратно, может привести к тому, что процесс упадет, возможно даже поломав другие процессы вплоть до синего экрана, то есть "выстрелишь себе в ногу".
    А с/с++ достаточно низкоуровневый язык, в котором нужно о многом думать.
    Забыл выделить память под переменную - выстрелил в ногу. Забыл освободить память - утечка накопилась - выстрелил в ногу. Перепутал указатель с указателем на указатель - ...

    В более современных языках работать проще, многое за тебя уже продумано и автоматизировано (garbage collector, например)
    Ответ написан
    Комментировать
  • Поиск адреса памяти в игре?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Причем тут поиск адресов памяти?
    Если вы пользовались каким-нить cheatengine или Artmoney исключительно поиском по значению, и понятия не имеете как программы пишутся и что такое языки программирования, то да, дело именно в отладчиках.

    Берется отладчик, декомпилируется код, подменяется своей, когда станет понятно как ее подменить.
    Да, нужны навыки хорошего разработчика, с опытом реверс инженеринга, и не одного, такие вещи при отсутствии исходного кода это много человекочасов некоторой коммуны, редко одиночки.
    Ответ написан
    8 комментариев
  • Где и как искать информацию о написании текстового редактора с нуля?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Как-то пока я сидел за компьютером мне пришла мысль о создании текстового редактора с нуля на одном из языков семейства "си"

    Есть уже опыт написания программ попроще на одном из языков семейства Си?
    Или с нуля и сразу редактор?

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

    Следует немного все-таки подучить базовые навыки работы с компьютером с точки зрения разработчика на чем-то попроще. Например отличать термин "графический интерфейс" и "фреймворк".
    Или пиши тогда редактор, который будет работать в консоли, аналог какого-нить ed или vi

    Но в интернете я не смог найти нужную информацию.

    Это тоже весьма важный навык - уметь написать в гугл правильный вопрос.
    Например мне по "исходники простого текстового редактора с++" выдало примерно девяносто тысяч результатов.

    Или направьте на конкретный ресурс. Из языков в приоритете С++.

    Документация по С++. Сперва напиши несколько программ попроще. Потом уже текстовый редактор, когда освоишь терминологию, и задавая вопрос будешь способен предсказать примерно половину ответа.
    Ответ написан
    3 комментария
  • Использована неинициализированная переменная "а"?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    1. Используйте тег форматирование для вашего кода

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

    3. Переменную нужно сперва определить, а потом с ней работать. Вы же просто начинаете пользоваться переменной, нигде предварительно ее не инициализировав - текст ошибки об этом ПРЯМО говорит. Необходимо не только объявить, но и задать дефолтное значение перед тем как к нему обращаться.
    Ответ написан
    2 комментария
  • Усиленно удалить файл в windows, возможно ли с помощью пары функций?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Вы не так понимаете, как это работает.
    В линукс файловая система использует структуру iNode в качестве хранения метаинформации о файлах. И когда вы открываете файл, по имени файла ищется iNode файловый дескриптор привязывается и лочит уже iNode. При этом имя файла на диске можно свободно удалять (а сами данные файла при этом удалятся позже, когда процесс который открыл файловый дескриптор его освободит).

    В виндовой файловой системе метаинформация и имя файла хранятся вместе, и поэтому открытый файловый дескриптор держит имя, и его нельзя удалить.

    Никакая недокументируемая функция это поведение не изменит. Пока процесс, который залочил файл в винде его не разлочит - ничего не получится.
    Ответ написан
    Комментировать
  • Создание читов с нуля?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Смысл изучения С++ для декомпиляции майнкрафта несколько отсутствует, так как сервер написан на java, а взламывать клиент - а смысл?
    Изучите как работает сеть, изучите как работает сервер, какие пакеты отправляет/принимает, ищите уязвимости.
    Ответ написан
    Комментировать
  • Подходит ли Unreal Engine для очень простых, казуальных игр?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Конечно подходит. Казуалку можно легко написать на unreal, а хардкорную игру на unity.
    Но если у вас навыки еще на уровне начинающего, то надо отталкиваться не от них, а от требований вашей игры - ведь у каждого инструмента есть его более удобное предназначение.
    Ответ написан
    Комментировать