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


Атомарный Оператор Присваивания

Я использую очень легкую атомарную оболочку в качестве учебного упражнения для примитивных типов данных в C++ для Windows, и у меня есть несколько простых вопросов о реализации оператора присваивания. Рассмотрим две реализации ниже: // Simple assignment Atomic& Atomic::operator=(const Atomic& other) { mValue = other.mValue; return *this; } // Interlocked assignment Atomic& Atomic::operator=(const Atomic& other) { _InterlockedExchange(&mValue, other.mValue); ...

GStreamer appsink получает буферы намного медленнее, чем в реальном времени на плате CARMA

Я относительно недавно задал вопрос о переполнении стека, но сделаю все возможное, чтобы подробно объяснить проблему. В настоящее время я использую IP-камеру Axis для получения живого видео на плате CARMA. Затем GStreamer берет эти кадры с помощью RTSP-клиента, выполняет RTP depayload, а затем декодирует изображения h.264, которые передаются с камеры. Когда я выполняю этот процесс на своем компьютере (в настоящее время оснащенном процессором i7), нет времени задержки, и поток вывод на экран в ...

Что такое использование ref-квалификатора ' const &&'?

Я немного покопался в ref-квалификаторах, следуя за предыдущим вопросом. Приведен пример кода ниже; #include <iostream> #include <string> #include <utility> struct A { std::string abc = "abc"; std::string& get() & { std::cout << "get() &" << std::endl; return abc; } std::string get() && { std::cout << "get() &&" << std::endl; return std::move(abc); } std::string const& get() const & { ...

C++ template class static const переменный член как ключ карты дает неопределенную ссылку

У меня есть куча классов, которые имеют статический член, который является значением enum. И у меня есть карта где-то еще с этим перечислением в качестве ключа. Теперь, если я использую параметр шаблона в функции для доступа к карте, я получаю неопределенную ссылку. Чтобы было понятно, вот упрощенный нерабочий пример: template<int T> struct A { static const int Type = T; } template<class T> void fun() { cout << map_[T::Type] << endl; } map<int, str ...

приложение c++ с использованием qt, как включить gnuplot

Я ищу решение или некоторые рекомендации о том, как из приложения c++, использующего Qt, создавать научные сюжеты. Я настроился на gnuplot, потому что у него есть хорошие функции для последующего использования моих сюжетов в латексе и тому подобном. Мой вопрос тогда, могу ли я и как я выполняю, чтобы показать график в qt, а также дает возможность представить команды gnuplot для генерации графика позже для отчетности. Должен ли я на основе моих данных создать некоторый файл данных и создать тек ...

Понимание слабого счетчика ссылок

При создании shared_ptr объект диспетчера использует сильные и слабые счетчики ссылок. Я понимаю, что при использовании сильного счетчика ссылок shared_ptr знает, когда освободить управляемый объект, но я не понимаю, почему он использует слабый счетчик ссылок. ...

Rapidjson: добавление внешнего вложенного документа в документ

Я хочу сериализовать вложенную структуру в JSON с помощью Rapidjson, а также я хочу иметь возможность сериализовать каждый объект отдельно, поэтому любой класс, реализующий ToJson, может быть сериализован в строку JSON. В следующем коде Car имеет член Wheel, и оба класса реализуют метод ToJson, который заполняет rapidjson::Document всеми своими членами. Этот метод вызывается из шаблона функции ToJsonString для получения отформатированной строки JSON передаваемого объекта. #include "rapidjson/d ...

Расположены ли переменные внутри цикла (while или for) после завершения цикла?

Являются ли переменные, созданные внутри цикла while или for, удаленными из памяти после завершения выполнения цикла? кроме того, это плохая привычка кодирования-создавать временные переменные внутри цикла? В этом примере он создает 100 переменных X и затем избавляется от них, или они удаляются на каждой итерации? спасибо. Пример: int cc =0; while(cc < 100){ int X = 99; // <-- this variable cc++; } ...

C++ неявные и явные вызовы конструкторов наследования

У меня есть вопрос о неявных и явных вызовах базового конструктора. Если у нас есть иерархия классов, подобная этой: class Person{ protected: std::string m_name; public: Person(std::string& _name) : m_name(_name){std::cout << "A person is being constructed." << std::endl;} }; class Baby : public Person{ private: int m_no_of_nappies; public: Baby(std::string& _name, int& _no_of_nappies) : m_no_of_nappies(_no_of_nappies), P ...

Получение XCode для включения, компиляции и связывания существующей (C++) кодовой базы в XCode 4.3(.Один)

Я пытаюсь "импортировать" мою существующую кодовую базу C++ в мой проект Xcode iOS. Проблема в том, что xCode не компилирует (и, следовательно, не связывает) мой код. Вот что я сделал до сих пор: File > добавить файлы в "Project". Я не ставлю галочку "копировать файлы", так как это общая кодовая база для нескольких платформ, а несколько копий исходного кода-это не вариант. я добавил соответствующий путь к настройкам проекта "Header Search Path". В том числе заголовочные файлы работает, ...

Инициализация вектора std::со списком последовательных целых чисел без знака

Я хочу использовать специальный метод для инициализации std::vector<unsigned int>, который описан в книге C++, которую я использую в качестве ссылки (немецкая книга "Der C++ Programmer" Ульриха Бреймана, если это имеет значение). В этой книге есть раздел о типах последовательностей STL, относящийся, в частности, к list, vector и deque. В этом разделе он пишет, что существуют два специальных конструктора таких типов последовательностей, а именно, если Xотносится к такому типу, X(n, t) // ...

Анонимные классы перечисления

Можно ли написать анонимный класс enum и затем сравнить, что он содержит? Напр.. enum class { APPLE, BANANA } fruitType; // ... if (fruitType == fruitType::APPLE) // ... ...

обнаружение таймаута в ffmpeg

Я пишу некоторое программное обеспечение, которое широко использует ffmpeg, и оно многопоточное, с несколькими экземплярами класса. Если сетевое соединение выпадает ffmpeg зависает на чтении. Я нашел способ назначить обратный вызов, который ffmpeg периодически запускает, чтобы проверить, должен ли он прерваться или нет: static int interrupt_cb(void *ctx) { // do something return 0; } static const libffmpeg::AVIOInterruptCB int_cb = { interrupt_cb, NULL }; ... AVFormatContext* for ...

Извлечь массив координат из строки (C++ OpenCV)

Используя C++ / OpenCV я нарисовал линию на изображении с помощью cv::line и теперь пытаюсь извлечь массив его координат. Я попытался назначить строку cv::Mat, но получил ошибку, в которой говорится, что я не могу преобразовать void в cv::Mat. Есть ли простой способ получить эти координаты? Спасибо за помощь! ...

Векторное заполнение в потоках OpenMP

У меня есть алгоритм, для которого одна цель-заполнить векторы. Для повышения производительности итерации алгоритма распределяются по потокам OpenMP. Мне было интересно, какой способ обеспечит лучший/безопасный способ заполнения векторов. Обратите внимание, что порядок векторов должен быть последовательным (т. е. значение n век1 должно исходить из той же итерации, что и значение n век2.) Гипотеза 1: std::vector<BasicType> vec1; std::vector<BasicType> vec2; #pragma opm parallel fo ...

Как использовать компилятор Visual Studio C++?

Я недавно установил Visual Studio 2013. Я могу создать новый проект (Visual C++), но ошибка, с которой я столкнусь, заключается в том, что я не могу запустить приложение. Вот код, который я пытаюсь запустить в Visual Studio 2013. #include <iostream> using namespace std; int main() { cout << "Hello World"; return 0; } Я уверен, что этот код будет работать и выведет hello world , но в Visual Studio он дает мне проблемы, говоря: Значения не могут быть нулевыми, Имя ...

Регулярное выражение C++ с char и wchar t?

У меня есть константный тип char и константный тип wchar_t. Моя функция ниже работает с char. Каков самый простой / самый эффективный способ написать функцию, которая может легко обрабатывать как char, так и wchar_t? const char* asciiChar = "this is an ascii string"; const wchar_t* unicodeChar = L"this is a unicode string"; std::string replaceSubstring(const char* find, const char* asciiChar, const char* replace) { std::string const text(str); std::regex const ...

Получение текущего времени (в миллисекундах) из системных часов в Windows?

Как можно получить текущее время системных часов (в миллисекундах) на языке C++? Это специфическое приложение для windows. ...

На C++/сборка интегрированной среды разработки в Linux

То, что я ищу, - это IDE, которая будет работать на Linux, которая имеет поддержку подсветки синтаксиса сборки C++ и x86. Я уже пробовал Code:: Blocks, но это не позволяет мне запустить программу так, как мне нужно, поэтому это не сработало хорошо. Мои потребности: возможность компилировать программы, выдавая команду "make all" в определенном каталоге возможность запускать программы, выдавая пользовательскую команду вместо запуска определенного исполняемого файла графический (не vim / emac ...

Как использовать statusChanged в WebView (QtQuick 2.0 и QtWebKit 3)?

В QtQuick 1.0 и QtWebKit 1.0 я мог сделать onLoadFinished для выполнения функции после того, как страница была готова. Как это сделать в версиях 2 и 3 соответственно? В docuements есть statusChanged. Я не понимаю, как им пользоваться. Ранее у меня было: import QtQuick 2.0 import QtWebKit 3.0 WebView { width: 700 height: 800 url:"http://www.yahoo.com" settings.developerExtrasEnabled : true id: webView objectName: "myWebView" onLoadFinished: evaluateJavaScri ...