Задать вопрос
Ответы пользователя по тегу C++
  • Правильное применение const?

    Adamos
    @Adamos
    Const имеет смысл использовать всегда, если вы пишете код, который потом будем многократно использоваться (библиотеку, например).
    Использование же const в прикладном коде - это оптимизация. Причем, как правило - преждевременная.
    То есть испортить код таким образом вы вряд ли сможете, а вот стоит ли результат потраченных усилий и постоянного переключения с уровня архитектуры на этот низкоуровневый... эм... как это по-русски - grinding?
    Ответ написан
    Комментировать
  • Почему функция не видит public переменную из другого класса?

    Adamos
    @Adamos
    Философы древности собирали своих учеников и беседовали, позволяя им задавать вопросы и тем приобретать мудрость.
    Но С++ учится не так.
    Ответ написан
    Комментировать
  • Независимое окно C++?

    Adamos
    @Adamos
    Ответ написан
    Комментировать
  • С++ Когда можно переходить на изучение?

    Adamos
    @Adamos
    К STL - после того, как освоитесь с шаблонами. Иначе запутаетесь.
    К WinAPI - лучше вообще никогда.
    Ответ написан
    1 комментарий
  • Можно ли заработать C++ программисту в 2021?

    Adamos
    @Adamos
    Чтобы заработать, нужно начинать не с "я почитал книжку и выучил операторы", а "я могу написать программу/сайт, которые могут...". Работу для джуна на Крестах - так, чтобы вам разжевали, что делать, а потом еще за это заплатили - вы вряд ли найдете.
    Но если самостоятельно сможете решить нужную кому-то задачу (например, написать программу-клиента к API, который возьмет нужные данные и сделает нужные вещи - поняв, что заказ, написанный совсем другими словами, можно воплотить именно так) - то на фрилансе ни возраст, ни образование не спрашивают. Зарабатывай, если можешь.

    Но вообще, выбирать для быстрого заработка Кресты - это примерно как пойти в музыкалку, чтобы подработать лабухом.
    Ответ написан
    Комментировать
  • Как создать динамический массив указателей в базовом классе на объекты производного класса?

    Adamos
    @Adamos
    Вы явно неправильно поняли задачу. Вам не нужно решать вопрос, вынесенный в заголовок.
    Вам нужно написать класс-вектор и его наследника - Person.
    Создавать вектор, содержащий указатели на Person, никто не просил.
    Если это весь текст задания - могу предложить вам в качестве "подходящего типа" int.
    Ответ написан
  • Как разрабатывать оконные приложения на С++ в Visual Studio 2019?

    Adamos
    @Adamos
    Сейчас формошлепство, когда-то подпертое Дельфами, во многом потеряло смысл, так как задачи постоянно смещаются с десктопов на сервера. Соответственно, разрабатывается серверное приложение, веб-морда к нему и Электрон, например, для отдельного клиента. Без копания в серьезных языках, которые для таких задач просто не нужны.
    Ответ написан
    Комментировать
  • Передача данных отдельным блоком?

    Adamos
    @Adamos
    Основная проблема в том, чтобы не использовать при этом структуру или класс. Так как передача происходит лишь в одном фрагменте огромного кода, громоздить что-то из этого не хочется.

    Странная фобия. Примите успокоительное и напишите-таки структуру, специально для таких взаимодействий и придуманную. Вы на этот вопрос потратили больше сил, чем на правильное (то есть поддерживаемое) решение своей задачи. Нагромождение уловок для такой фигни, просто чтобы в описании класса не появилось шесть лишних строчек, будет куда большим злом. Особенно - если
    переменных в будущем будет становится все больше и больше.
    Ответ написан
    Комментировать
  • Как перебрать 2-ва enum class в 1 функции?

    Adamos
    @Adamos
    Нужно выкинуть этот код, забыть о нем и вернуться к задаче, которая решается таким причудливым образом.
    Попутно можно вспомнить, к чему реально приводится enum.
    Ответ написан
    Комментировать
  • Как оценить собственное знание С++?

    Adamos
    @Adamos
    Знание С++ - это ложка синтаксиса на бочку практики.
    Если вы не написали ни одной серьезной программы - А0, какие бы хитрые тесты вы ни проходили на 146 баллов.
    Ответ написан
    2 комментария
  • Как усовершенствовать (переделать) конвектор валют в С++?

    Adamos
    @Adamos
    Вы занимаетесь ерундой, вылизывая упражнение на оператор.
    Отложите оптимизации и красивости хотя бы до конца учебника.
    Сейчас, с едва начатой базой, так можно разве что нахвататься странных идей, от которых потом придется избавляться, переучиваясь.
    Ответ написан
    1 комментарий
  • Кто может расписать программу по механизму действия компилятора?

    Adamos
    @Adamos
    1. Это называется "отладчик".
    2. Он может останавливать выполнение на каких-либо действиях.
    3. А строка с объявлением переменной никакого действия не выполняет.
    Ответ написан
    Комментировать
  • Почему выдает ошибку C2664?

    Adamos
    @Adamos
    Если в функции последней буквой А - она ожидает в качестве аргументов char*.
    Если же W - то ей нужен wchar_t*.
    Так что вместо string вам нужно использовать wstring.
    Ответ написан
    4 комментария
  • Какую библиотеку использовать для работы с каталогами и в Linux и в Windows?

    Adamos
    @Adamos
    Вы столкнулись с еще более очевидной проблемой: пишете программу под разные платформы без использования кроссплатформенных библиотек, так что это только первая проблема из множества подобных.
    Проще решить их все сразу использованием Qt, например.
    Или wxWidgets, если вы привыкли к C::B и программа действительно настолько проста.
    Ответ написан
    Комментировать
  • Стоит ли учить программирование по старой книге?

    Adamos
    @Adamos
    Этот учебник, насколько я вижу, предлагает вам писать программу в досовском редакторе и компилировать сто лет как устаревшим борландовским компилятором.
    Поищите что-нибудь посовременнее и не приколоченное гвоздями к Борланду, Майкрософту или Qt. Если, конечно, ваша цель - изучение языка.
    Гнаться за самым свежаком не стоит, базовый синтаксис языка не менялся с прошлого века, а то, что в нем с тех пор добавилось, лучше изучать после освоения базы.
    Ответ написан
    Комментировать
  • Оцените С++ код пожалуйста?

    Adamos
    @Adamos
    Если вы собираетесь заниматься Крестами более серьезно, чем эта лаба в С-стиле, обратите внимание на следующее. Ваши функции выполняют всякие довольно банальные операции, но при этом называются compUsrWthCmptr и предполагают исполнение именно этих, нужных сейчас, действий. А точнее - понимание того, что и зачем делает эта функция, при работе с ней.
    Для будущего попробуйте абстрагироваться от задачи и писать функции, выполняющие именно те действия, которые они выполняют, без всякого знания о том, что происходит вне их. Сравнивает у вас функция две строки - вот и пускай сравнивает. Ей надо знать только алгоритм сравнения, а не то, что этот инпут - пользовательский. В нее приходит две строки, выходит результат - и все.
    А вот в вызывающей ее функции вы напишете более высокоуровневый код подготовки ввода к обработке этой функцией и действия по ее результату. И эта функция, в отличие от вашей, будет читаться легко и непринужденно.
    Так у вас низкоуровневое копание в байтах будет изолировано от более человеческой логики программы, и разделив код на подобные уровни - значительно легче с ним работать. Особенно когда вы перейдете от процедурщины к классам.
    Ответ написан
    1 комментарий
  • Возможность упаковки кругов в прямоугольник?

    Adamos
    @Adamos
    Взять бумажку.
    Нарисовать пример двух вписанных в прямоугольник окружностей.
    Подумать.
    Заподозрить, что точка соприкосновения окружностей всегда будет лежать на линии, соединяющей их центры. Доказать это.
    Провести линию между центрами окружностей и перпендикуляры от центров к сторонам прямоугольника.
    Сообразить, что нужно просто определить, влезет ли линия между центрами в габариты прямоугольника минус радиусы окружностей...
    Немножко посчитать.
    Ответ написан
    1 комментарий
  • Очищение строк в функции c++, нужно ли?

    Adamos
    @Adamos
    Если почитать учебник, можно узнать, что происходит с локальными переменными при выходе из функции.
    А если вы пишете на С++ - учебник читать точно стоит.
    Ответ написан
    6 комментариев
  • Почему выполняются все метки?

    Adamos
    @Adamos
    Это же не высокоуровневый язык с case, это асм.
    Здесь метки - это именно метки, они просто сообщают ассемблеру адрес следующей строчки для внесения его в бинарный код команды jmp, не добавляя никакой логики выхода наружу на следующей метке.
    Вам надо добавить m6: в конце и jmp m6 после каждого из вариантов, кроме последнего.
    Ответ написан
    3 комментария