Задать вопрос
  • Как Вы обходитесь без "if"?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Вообще принято while использовать когда неизвестно количество итераций, а for - когда известно.
    Ответ написан
    Комментировать
  • Как редатировать элемент QListWidget?

    Zifix
    @Zifix Куратор тега Qt
    Barbatum
    Вы документацию на этот виджет читали? Какие у вас есть варианты?

    В гугл запрос делали, хотя бы первую ссылку смотрели?
    Ответ написан
    Комментировать
  • Параметры функции?

    Зачем передавать переменные-параметры в функцию, если можно писать глобальное объявление переменных?

    1. Чтобы избавлять от дублирования (ну вообще это сам смысл функций)
    2. Чтобы удобнее работать с этими функциями (сразу видишь, что функция от тебя ждёт)
    3. Чтобы нормально работало в многопоточной среде. (глобальные переменные и многопоток не совестимы)

    Ну вот например менее абcтрактный пример:
    int sum(int a, int b) { // всё отлично, всё понятно
      return a + b;
    }
    
    int a,b;
    // Каким образом мы поймём, что надо перед вызовом sum задать какое-то значение переменным a и b?
    // sum и её "параметры" a и b никак не связаны
    int sum() {
      return a + b;
    }
    
    int sum() { // а как в этом случае нам сложить две переменные? Как задать значения a и b??????
      int a,b;
      return a + b;
    }
    Ответ написан
    Комментировать
  • Как внедрить в ядро ОС на Си C++?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    C++ это язык программирования. Его поддержки ни в каком ядре нет.

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

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

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

    Итого, прежде чем "подключать С++ к ядру", следует уточнить как работает архитектура ОС и задать правильный вопрос
    Ответ написан
    7 комментариев
  • Где найти хедер OpenGL/gl3.h?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    sudo apt-get install build-essential libgl1-mesa-dev
    Попробуйте подключить так:
    #include <GL/gl.h>
    Ответ написан
    Комментировать
  • Предупреждение при использовании последнего элемента массива?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    почему при указывании 3 элемента, он начинает считать с 1
    Кто вам такое сказал? Элементы массива в C++ всегда нумеруются начиная с нуля.
    Предупреждение для того и даётся, чтобы вы исправили код. Иначе во время работы программы могут быть самые неожиданные эффекты, начиная от некорректных вычислений и заканчивая вылетом программы из-за исключения при попытке доступа к чужой памяти.
    Ответ написан
    Комментировать
  • Есть ли нативный способ написать GUI на html/css для С++ программ?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Хватит ерундой заниматься и используйте нормальные инструменты для GUI конкретного языка.

    Qt -тяжелая для одного виджета? А браузер для одного виджета не тяжелый?

    Пиши на шарпе или делфи тогда. Там с GUI куда лучше и легче.

    P.S. qt позволяет использовать css для настройки контролов.
    Ответ написан
  • Как найти НОД двух чисел?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Почитайте про алгоритм Евклида
    Ответ написан
    Комментировать
  • Как устроен движок скриптинга?

    YuriyVorobyov1333
    @YuriyVorobyov1333
    Software Developer
    Практический каждый движок состоит из нескольких основных компонентов:
    • основной код игры с логикой
    • механизм рендеринга
    • звуковой движок
    • физический движок
    • ИИ

    Понятное дело, что от реализации к реализации этот список может меняться. Обычно поверх всего это дела накатывается какая-то абстракция, чтобы это все можно было нормально использовать не залезая в исходники, так появились Unity/Unreal/Cry Engine и т.д. В итоге мы получаем набор инструментов и библиотек для обработки низкоуровневых функций, например таких как рисование объектов, и поэтому вместо написания кода для рисования разработчик просто создает объект класса спрайт. Как у разработчика у вас, обычно, есть полотно(сцена), где вы расставляете объекты и потом привязываете к объектам скрипты, при сборке это все является аргументами какой-то функции или конструкторами какого-то класса, который и начинает выполнять и связывать всю эту логику. Если мы говорим за популярные движки, указанные выше, то в них есть Entity Manager, который отслеживает все сущности и их поведение на сцене, а вашу сцену уже можно представить как граф, где узлы - сущности, а действия между ними - ребра.
    Важно понимать, что реализация и внутренние механизмы меняются от случая к случаю. Вот здесь и здесь и здесь можно прочитать про движки в целом, а здесь и здесь посмотреть, как умные дяди на ваших глазах пишут эти самые движки.
    Ответ написан
    Комментировать
  • Сито, как правильно отсортировать?

    @Homemade
    Просто выведи диаметры сит в порядке убывания.
    Ответ написан
    1 комментарий
  • Как удалить повторяющиеся слова в строках используя lines?

    myjcom
    @myjcom Куратор тега C++
    //lines.erase(unique(lines.begin(), lines.end()), lines.end());

    ^^^
    Не тот unique использовать пытался.
    У std::list он свой

    auto in = ifstream("in.txt");
    auto out = ofstream("out.txt");
    list<string> ls;
    copy(istream_iterator<string>(in), {}, back_inserter(ls));
    ls.sort();
    ls.unique();
    copy(ls.begin(), ls.end(), ostream_iterator<string>(out, "\n"));
    Ответ написан
    Комментировать
  • Как довести данный код до конца?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Потому что вы делаете pop_back на пустом векторе.
    P.S.
    А когда-то для этих целей хватало одной целочисленной переменной. Теперь, смотрю, векторы используют. Скоро, наверное, bigdata и искусственный интеллект подтянут...
    Ответ написан
  • Куда я могу выложить свои мини-проекты на С++, и получить краткий отзыв?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    https://govnokod.ru/

    правда, по сям там те еще советчики
    Ответ написан
    Комментировать
  • Не получется вывести сколько одинаковых символов содержит строка?

    @galaxy
    Что за странная манера писать на гибриде C и C++?

    Пишите на плюсах - используйте std::string.
    cin >> считывает до первого пробела, читайте через std::getline()
    Ответ написан
    Комментировать
  • Как складывать элементы двумерного массива с++?

    myjcom
    @myjcom Куратор тега C++
    В С++ можно так

    #include <iostream>
    #include <algorithm>
    #include <string>
    #include <numeric>
    #include <vector>
    #include <iterator>
    
    using namespace std;
    
    //Придумай сам алгоритм число в строку или нагугли
    string lineNumberToString(int ln)
    {
      return to_string(ln) + " сторка ";
    }
    
    int main()
    {
      auto nums2dArray = vector<vector<int>>{{32,23}, {25,12}};
    
      transform(begin(nums2dArray), 
                end(nums2dArray), 
                ostream_iterator<string>(cout, "\n"), 
                [](auto row){
                  static int lineNumber = 1;
                  return lineNumberToString(lineNumber++) + 
                         to_string(accumulate(begin(row), end(row), 0));
      });
    }

    Ответ написан
    Комментировать
  • Почему выполняются все метки?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А почему они не должны "срабатывать"? Что может этому помешать?
    Просто представьте, что в AX записана единица и выполните всю программу в уме по шагам.
    Ответ написан
    4 комментария
  • Почему выполняются все метки?

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

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Что делают эти две функции?

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

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Смешной кодик.
    Спасибо, поржал
    Ответ написан
    Комментировать
  • Зачем здесь символ; Где ошибка?

    @XTerris
    После вызова функции нужно ставить ";", как, собственно, после любого выражения.
    Ответ написан
    2 комментария