c++- все статьи тега ➜ страница 16


Функции обратного вызова в C++

В C++, когда и как вы используете функцию обратного вызова? EDIT: Я хотел бы увидеть простой пример для написания функции обратного вызова. ...

std:: vector против std:: array в C++

в чем разница между std::vector и std::array в C++? Когда следует предпочесть одно другому? Каковы плюсы и минусы каждого? Все, что делает мой учебник, это перечисляет, как они одинаковы. ...

Запустить поток с функцией-членом

Я пытаюсь построить std::thread С функцией-членом, которая не принимает аргументов и возвращает void. Я не могу понять, какой синтаксис работает - компилятор жалуется, несмотря ни на что. Как правильно реализовать spawn() Так что он возвращает std::thread выполняет test()? #include <thread> class blub { void test() { } public: std::thread spawn() { return { test }; } }; ...

Как передать объекты в функции в C++?

Я новичок в программировании на C++, но у меня есть опыт в Java. Мне нужно руководство о том, как передавать объекты в функции в C++. нужно ли передавать указатели, ссылки или значения без указателя и без ссылки? Я помню, что в Java нет таких проблем, так как мы передаем только переменную, которая содержит ссылку на объекты. было бы здорово, если бы вы могли объяснить, где использовать каждый из этих вариантов. ...

C++ генерация случайных чисел с плавающей запятой

Как я могу генерировать случайные поплавки в C++? Я думал, что могу взять целое число rand и разделить его на что-то, будет ли это достаточно адекватно? ...

Как правильно использовать пространства имен в C++?

Я пришел из фона Java, где используются пакеты, а не пространства имен. Я привык класть классов, которые работают вместе, чтобы сформировать полный объект в пакеты, а затем повторно использовать их позже из этого пакета. Но теперь я работаю в C++. Как вы используете пространства имен в C++? Вы создаете одно пространство имен для всего приложения, или вы создаете пространства имен для основных компонентов? Если да, то как вы создаете объекты из классов в других пространствах имен? ...

Как закончить код на C++

Я хотел бы, чтобы мой код C++ перестал работать, если выполняется определенное условие, но я не уверен, как это сделать. Так что просто в любой момент, если if оператор true завершает код следующим образом: if (x==1) { kill code; } ...

Какой указатель я использую, когда?

хорошо, так что в последний раз, когда я писал C++ для жизни,std::auto_ptr все СТД Либ был доступен, и boost::shared_ptr был весь гнев. Я никогда не заглядывал в другие типы интеллектуальных указателей, предоставляемые boost. Я понимаю, что C++11 теперь предоставляет некоторые из типов boost, но не все из них. Итак, у кого-то есть простой алгоритм, чтобы определить, когда использовать какой умный указатель? Предпочтительно включая советы относительно тупых указателей (необработанные указатели, ...

Как создать статический класс В C++?

как создать статический класс В C++? Я должен быть в состоянии сделать что-то вроде: cout << "bit 5 is " << BitParser::getBitAt(buffer, 5) << endl; предполагая, что я создал BitParser класса. Что бы это BitParser определение класса выглядит? ...

бросать исключения из деструктора

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

Каковы наиболее широко используемые библиотеки векторной / матричной математики / линейной алгебры C++ и их компромиссы затрат и выгод? [закрытый]

похоже, что многие проекты медленно приходят к необходимости делать матричную математику и попадают в ловушку первого построения некоторых векторных классов и медленного добавления функциональности, пока их не поймают, создавая наполовину заданную пользовательскую библиотеку линейной алгебры и в зависимости от нее. Я хотел бы избежать этого, не создавая зависимости от некоторой тангенциально связанной библиотеки (например, OpenCV, OpenSceneGraph). каковы обычно используемые матричная математ ...

Как добавить отражение в приложение на C++?

Я хотел бы иметь возможность интроспекции класса C++ для его имени, содержимого (т. е. членов и их типов) и т. д. Я говорю здесь родной C++, а не управляемый C++, который имеет отражение. Я понимаю, что C++ предоставляет некоторую ограниченную информацию с помощью RTTI. Какие дополнительные библиотеки (или другие методы) могут предоставить эту информацию? ...

Как сделать HTTP-запрос с помощью C++?

есть ли способ легко сделать HTTP-запрос с помощью C++? В частности, я хочу загрузить содержимое страницы (API) и проверить содержимое, чтобы увидеть, содержит ли оно 1 или 0. Можно ли также загрузить содержимое в строку? ...

Почему лямбда-код C++11 по умолчанию требует "изменяемого" ключевого слова для захвата по значению?

короткий пример: #include <iostream> int main() { int n; [&](){n = 10;}(); // OK [=]() mutable {n = 20;}(); // OK // [=](){n = 10;}(); // Error: a by-value capture cannot be modified in a non-mutable lambda std::cout << n << "n"; // "10" } вопрос: Зачем нам нужен mutable ключевое слово? Это сильно отличается от традиционной передачи параметров в именованных функций. В чем причина этого? у меня создалось впечатление, чт ...

C++ new int[0] - будет ли он выделять память?

простое тестовое приложение: cout << new int[0] << endl; выходы: 0x876c0b8 Так что, похоже, это работает. Что говорит об этом стандарт? Всегда ли законно "выделять" пустой блок памяти? ...

enum в строку в современном C++11 и C++14 и C++17 и будущее C++с 20

в отличие от всех других подобных вопросов, этот вопрос касается использования новых функций C++. 2008 c есть ли простой способ преобразовать перечисление C++ в строку? 2008 c простой способ использовать переменные перечисления типов в качестве строки в C? 2008 c++ как легко сопоставить перечисления c++ со строками 2008 c++ делает что-то как идентификатор C и строку? 2008 c++ есть ли простой скрипт для преобразования перечисления C++ в струна? 2009 c++ как использовать перечисления в кач ...

смарт-указатели (boost) объяснил

в чем разница между следующим набором указателей? Когда вы используете каждый указатель в производственном коде, если вообще используете? примеры будут оценены! scoped_ptr shared_ptr weak_ptr intrusive_ptr вы используете boost в производственном коде? ...

Как начать разработку расширений Internet Explorer?

есть ли у кого-нибудь здесь опыт работы с/в разработке расширений IE, которые могут поделиться своими знаниями? Это будет включать примеры кода или ссылки на хорошие, или документацию по процессу, или что-нибудь еще. Я действительно хочу это сделать, но я натыкаюсь на гигантскую стену с паршивой документацией, паршивым кодом/примером кода/его отсутствием. Любая помощь / ресурсы, которые вы могли бы предложить, будут очень признательны. в частности, я хотел бы начать с того как получить доступ ...

Как я могу читать и анализировать CSV-файлы в C++?

Мне нужно загрузить и использовать данные CSV-файла в C++. На данный момент это может быть просто парсер с разделителями-запятыми (т. е. не беспокойтесь о том, чтобы избежать новых строк и запятых). Основная потребность заключается в построчном синтаксическом анализаторе, который будет возвращать вектор для следующей строки при каждом вызове метода. Я нашел эту статью, которая выглядит весьма перспективным: http://www.boost.org/doc/libs/1_35_0/libs/spirit/example/fundamental/list_parser.cpp ...

Лучший способ извлечь субвектор из вектора?

Предположим, у меня есть std::vector (назовем его myVec) в размере N. Каков самый простой способ построить новый вектор, состоящий из копии элементов X через Y, где 0 myVec [100000] через myVec [100999] в векторе размере 150000. если это не может быть сделано эффективно с вектором, есть ли другой тип данных STL, который я должен использовать вместо этого? ...