• Как подключить библиотеку с GitHub в свой проект (C++)?

    SerJook
    @SerJook
    кодер
    Предположим что вы используете Windows и Visual Studio. Тогда:

    1. Для работы этой библиотеки вам понадобится библиотека libcurl.
    Скорее всего вам придется собирать libcurl из исходников. В архиве с исходниками есть инструкция, как ее собирать на Windows (winbuild\BUILD.WINDOWS.txt). Соберите к примеру статическую библиотеку (.lib).

    2. Распакуйте файлы исходников из архива с библиотекой Kolsha/VK (из папки src) в папку вашего проекта.
    Добавьте эти файлы в ваш проект в Visual Studio.

    3. Укажите в свойствах проекта (С++ ->General->Additional include directories) путь к папке, содержащей хедеры libcurl (к примеру "с:\dev\curl-7.58.0\include\" )
    а также в (Linker->general->Additional library directories) путь к папке, содержащей собранную библиотеку (к примеру "c:\dev\curl-7.58.0\builds\libcurl-vc12-x86-release-static-zlib-static-ipv6-sspi-winssl\lib\").
    В свойства проекта -> Linker->Input->Additional dependencies добавьте "libcurl_a.lib".
    Ответ написан
    Комментировать
  • Как гибко настроить тему WooCommerce без Elementor?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Тема вукомерца (точнее шаблоны вукомерца) настраивается на уровне рнр, html, css, js. Изучите документацию вукомерца и так вы научитесь кастомизировать тему и шаблоны вукомерца под ваши задачи...
    Elementor и другие виз. редакторы вообще ни при чем!
    Ответ написан
    Комментировать
  • Переход с C++ на C#?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    С C++ на C# будет гораздо проще, чем было бы наоборот. Не переживайте, у вас получится, через месяц-другой вы будете знать шарп не хуже, чем сейчас плюсы.
    Я рекомендую книгу Троелсена, потому что он подробнейшим образом пишет само описание языка, как писать код на c#, а не учит программированию, насколько я понял, вам это не нужно - алгоритмы, ООП и пр. вы уже знаете.
    Ответ написан
    Комментировать
  • Переход с C++ на C#?

    @kttotto
    пофиг на чем писать
    Шесть лет назад ушел с плюсов в .net. Случилось как-то случайно, надо было что-то сделать десктопное, до этого я это делал на win32 и это было жестоко, на винформах это было просто сказкой. А потом все сползло в веб и теперь я фулстек с упором в asp. И да, для C# работы побольше, но QT так же востребован, хоть и в меньшей степени.

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

    Каких то советов дать сложно. Мне кажется, все само вырулится и со временем само определится со стеком. Когда я окунулся в веб, я с ума сходил от того, в скольких технологиях надо разбираться и уметь ими пользоваться, в плюсах как то с этим по проще было.
    Ответ написан
    Комментировать
  • Переход с C++ на C#?

    Amffore
    @Amffore
    студент, учу c#
    Мне 17

    cтоит ли сейчас все бросать и с 0 учить C#?


    Никогда не поздно. Тем более переезд будет не таким больным.
    Ответ написан
    Комментировать
  • Переход с C++ на C#?

    Zoominger
    @Zoominger
    System Integrator
    гра с указателями (массивы указателей, массивы указателей на функции итд),

    В Сисярпе не нужно.

    Да, плюсы де-факто стандарт компьютерной индустрии,

    Srsly?

    Я и подумал перейти на C#, т.к. он мне показался более логичным и лаконичным. Он проще и востребованней плюсов на рынке.

    True.

    В общем, прошу совета, стоит ли сейчас все бросать и с 0 учить C#?

    Да.

    И кто на С# опытный, расскажите про них побольше пожалуйста, интересно узнать ваше мнение.

    Сейчас, отложу все свои дела и начну лекцию по C#, подождите пару минут.

    Ну и какой стек технологий необходимо знать хотя бы джуну.

    То, что написано в официальное руководстве хотя бы до 5-6 главы и типичные алгоритмы решения типичных задач (ну это на крестах вы должны были изучить).
    Ответ написан
    5 комментариев
  • Почему индикатор материнки показывает ff и не грузит ОС?

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

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

    Выключил - подключил 1 устройство - включил - проверил. И так далее, пока все не заработает.

    Ещё может быть проблема с блоком питания. Но это вначале обнаружится.

    Если самому сложно, то тогда остается только нести в мастерскую.
    Ответ написан
    3 комментария
  • На чем пишут ИИ?

    GavriKos
    @GavriKos
    Почему кроме питона то?
    Писать можно на чем угодно, что обладает полнотой по тьюрингу. Ибо математика везде одинакова.
    Ответ написан
    Комментировать
  • Указатели и многомерные массивы (С++)?

    RabraBabr
    @RabraBabr
    #include <iostream>
     
    int main()
    {
    // создается двухмерный массив 3 на 4 и тут же заполняется числами
        int a[3][4] = { {1, 2, 3, 4} , {5, 6, 7, 8}, {9, 10, 11, 12}};
    
    //  вычисляем количество строк  матрицы 3
        int n = sizeof(a)/sizeof(a[0]);      
    
    // вычисляем количество столбцов матрицы 4
        int m = sizeof(a[0])/sizeof(a[0][0]);  
          
    // устанавливаем в указатель *end адрес ячейки памяти последнего элемента массива
        int *end = a[0] + n * m - 1; 
    
    //  устанавливаем в указатель *ptr адрес ячейки памяти первого элемента массива (имеющего нулевой индекс)
    // после этого последовательно перебираем все элементы массива и выводим их на экран. 
    // Что бы массив выводился на экран в виде матрицы завели переменную i для подсчета количества итераций
        for(int *ptr=a[0], i=1; ptr <= end; ptr++, i++)
        {
            std::cout << *ptr << "\t";
    
    // как только кол-во итераций стало кратно кол-ву столбцов то есть выведена целая строка переводим каретку на новую строку
            if(i%m == 0) 
            {
                std::cout << std::endl;
            }
        }
         
        return 0;
    Ответ написан
    Комментировать
  • Зачем нужны указатели в С++?

    longclaps
    @longclaps
    Правильно поступаете, лучше на всякий случай заранее спросить.
    Размер матрицы минимум 2х2, а то и больше.
    Вместо указателей можно использовать указатели на указатели - так прикольнее. Здорово же, когда указатель указывает сам на себя.
    А с динамической памятью лучше бороться работать зажмурясь.

    Спрашивайте ещё, тут у нас не все кругом, а люди понимающие. И всегда рады конкретным вопросам )
    Ответ написан
  • Зачем нужны указатели в С++?

    32bit_me
    @32bit_me
    Программист, встраиваемые системы
    1. Указатели нужны, в общем, затем же, что и в чистом С.
    2. Лучше использовать ссылки, да.
    3. Vector не вместо указателей, это вообще разные вещи.
    4. С динамической памятью работать через new/delete, эти операторы работают с указателями. В этом случае они нужны.
    5. Матрицу вы можете представить, например, как Vector< Vector< double > >
    Ответ написан
    Комментировать
  • Программа перевода из 10 в 2 и 8 систему счисления(С++)?

    longclaps
    @longclaps
    подразумевается, что все числа положительные
    используй типизацию, а не подразумевай

    double_sys, eight_sys - почти 100% дублирование кода

    int *arr = new int[count];
    в этой задаче максимально необходимый размер строки можно прикинуть и использовать статическую переменную

    #include <iostream>
    
    using namespace std;
    
    void to_any_number_system(unsigned num, unsigned radix) {
        // соблюдение условия 2 <= radix <= 16 на совести вызывающего
        const char digits[] = "0123456789abcdef";
        char buf[sizeof(num) * 8], *p = buf; // двоичное представление num влезет
        do *p++ = digits[num % radix]; while (num /= radix);
        do cout << *--p; while (p > buf);
        cout << endl;
    }
    
    int main() {
        unsigned n = 0xffffffff; // чтобы мало не казалось )
        for (unsigned r = 2; r <= 16; r++) {
            cout << (r > 9 ? "" : " ") << r << '\t';
            to_any_number_system(n, r);
        }
    }
    Ответ написан
    3 комментария
  • Как у Вас в голове рождаются алгоритмы?

    Beshere
    @Beshere
    Разработчик
    Использую два способа:
    1. Если задача типовая, делаю, как было сделано раньше.
    2. Если задача новая, представляю, что я дебилу объясняю, что надо сделать по шагам.
    Ответ написан
    Комментировать
  • Актуальные книги по C#?

    @kotarak
    Я начинал с энциклопедии Шилдта. Это просто сухая теория вроде "есть такая фича, она умеет делать так". После того, как общее понимание сложилось, прочитал Рихтера c# via CLR. В этой книге кратко и интересно объясняется как работает язык, а не что он умеет. Это как Скотт Майерс, только в шарпах. Но без знания других языков или базы шарпов к Рихтеру лезть не стоит. Можно заменить скучного Шилдта METANITом, но при дальнейшем изучении придутся гуглить некоторые базовые вещи.
    Ответ написан
  • Актуальные книги по C#?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Эндрю Троелсен шикарен, чуть сложнее Шилдта, но не менее качественно, и более свежий. В ней также коротко обозревается много крутых .NET'овских штук, типа ASP.NET MVC, EF, WPF и.т.д. На английском есть издание про C# 7, на русском пока только C# 6
    Ответ написан
  • Актуальные книги по C#?

    kmx
    @kmx
    Герберт Шилдт - C# 4.0. Полное руководство
    Ответ написан
    2 комментария
  • Удалить все повторяющиеся элементы из массива?

    @sddvxd
    Советую познакомиться с новыми стандартами языка и стандартной библиотекой
    bool inArray(int* arr, int need, int count){
        for(int i = 0; i < count; ++i)
            if(arr[i] == need)
                return true;
    return false;
    }
    int* uniq(int* arr, int size, int& newSize){
        int* localArr = new int[size]{0};
        for(int i = 0; i < size; ++i){
            if(inArray(localArr - newSize, arr[i], size))
                continue;
            ++newSize;
            *localArr++ = arr[i];
        }
    return localArr - newSize;
    }
    
    int main(){
        int arr[10] = {1,2,3,4,2,4,5,6,7,4};
        int newSize = 0;
        int* newArr = uniq(arr, sizeof(arr)/sizeof(int), newSize);
        for(int i = 0; i < newSize; ++i)
            cout << newArr[i] << "\n";
    }
    Ответ написан
    6 комментариев
  • C++ или C# новичку?

    @Drus_K
    Внесу и я свою лепту.
    О себе: программирую 8 лет, преимущественно на c++/qt. Не сложнее с#, фичастый, кроссплатформенный, многие из тех, кто на нем программируют за долгие годы чистых плюсов то и не пробовали, позволяет сильно абстрагироваться от всего низкоуровневого.

    Как правильно заметили в других ответах - решает знание алгоритмов, шаблонов и прочего, понимание накладных расходов на операции, сетевое взаимодействие, знание sql, операционные системы, включая мак и Линукс... вообщем все то, что абстрагировано от самого языка.

    По поводу что утить - мое мнение такое, что с++ требует больше практики, именно чистый, либо в варианте std/boost. Если вы вечером предпочитаете вместо телика/кино/погулять - попялить в монитор и покодить, то учите с++.

    З.Ы. особая радость плюсового программиста - многопоточные приложения. Если повезет и встретится особо неуловимый баг, то параллельно и железо изучите и какие семейства процов как работают, и чем компиль msvc от mingv в поведении отличается. Вообщем кучу всего сопутствующего, чего лишены и о чем не парятся программисты на c#.
    Ответ написан
    1 комментарий