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


Получить путь к исполняемому файлу

Я знаю, что этот вопрос был задан раньше, но я до сих пор не видел удовлетворительного ответа или окончательного "нет, этого нельзя сделать", поэтому я спрошу еще раз! все, что я хочу сделать, это получить путь к текущему исполняемому файлу, либо как абсолютный путь, либо относительно того, откуда вызывается исполняемый файл, независимо от платформы. Я хотя boost:: filesystem:: initial_path был ответом на мои проблемы, но это, кажется, только для обработки "независимой от платформы" часть вопро ...

Как очистить буфер cin?

Как очистить буфер cin в C++? ...

Почему я не могу использовать значение типа float в качестве параметра шаблона?

когда я пытаюсь использовать float в качестве параметра шаблона компилятор запрашивает этот код, в то время как int работает нормально. это потому, что я не могу использовать float как параметр шаблона? #include<iostream> using namespace std; template <class T, T defaultValue> class GenericClass { private: T value; public: GenericClass() { value = defaultValue; } T returnVal() { return value; } }; int main() { GenericClass <in ...

Откуда происходят сбои "чистого виртуального вызова функции"?

Я иногда замечаю программы, которые сбой на моем компьютере с ошибкой:"чистый вызов виртуальной функции". Как эти программы даже компилируются, когда объект не может быть создан из абстрактного класса? ...

В C++ примеры SFINAE?

Я хочу попасть в более шаблон мета-программирования. Я знаю, что SFINAE означает " ошибка замены не является ошибкой.- Но может ли кто-нибудь показать мне хорошее применение СФИНЕ? ...

Флаги для тщательного и подробного предупреждения г++

часто в C под gcc, Я начну со следующего набора предупреждающих флагов (болезненно собранных из нескольких источников): -Wall -Wextra -Wformat-nonliteral -Wcast-align -Wpointer-arith -Wbad-function-cast -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Winline -Wundef -Wnested-externs -Wcast-qual -Wshadow -Wwrite-strings -Wno-unused-parameter -Wfloat-equal -pedantic -ansi Я построю (по крайней мере, мои отладочные версии) с этим набором предупреждений и исправлю все, что ...

Безопасное переопределение виртуальных функций C++

у меня есть базовый класс с виртуальной функцией, и я хочу, чтобы переопределить функцию в производном классе. Есть ли способ заставить компилятор проверить, действительно ли функция, объявленная в производном классе, переопределяет функцию в базовом классе? Я хотел бы добавить какой-то макрос или что-то, что гарантирует, что я случайно не объявлю новую функцию вместо переопределения старой. рассмотрим пример: class parent { public: virtual void handle_event(int something) const { // bor ...

Подключение перегруженных сигналов и слотов в Qt 5

у меня возникли проблемы с освоением нового синтаксиса сигнала/слота (с использованием указателя на функцию-член) в Qt 5, как описано в Новый Синтаксис Слота Сигнала. Я попытался изменить это: QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)); для этого: QObject::connect(spinBox, &QSpinBox::valueChanged, slider, &QSlider::setValue); но я получаю ошибку, когда я пытаюсь скомпилировать его: ошибка: нет подходящей фу ...

самый быстрый (с низкой задержкой) способ межпроцессного взаимодействия между Java и C/C++

У меня есть Java-приложение, подключающееся через TCP-сокет к "серверу", разработанному на C/C++. оба приложения и сервера работают на одной машине, поле Solaris (но мы рассматриваем возможность перехода на Linux в конечном итоге). тип обмениваемых данных-это простые сообщения (логин, логин ACK, затем клиент что-то просит, сервер отвечает). каждое сообщение составляет около 300 байт. В настоящее время мы используем сокеты, и все в порядке, однако я ищу более быстрый способ обмена данными (боле ...

Как использовать QueryPerformanceCounter?

недавно я решил, что мне нужно перейти от использования миллисекунд к микросекундам для моего класса таймера, и после некоторых исследований я решил, что QueryPerformanceCounter, вероятно, моя самая безопасная ставка. (Предупреждение о Boost::Posix то, что он может не работать на Win32 API, немного отпугнуло меня). Однако, я не совсем уверен, как это реализовать. то, что я делаю, это вызов whatever GetTicks() функция esque, которую я использую и назначаю ее таймеру startingTicks переменной. За ...

Использование переменной-члена в списке захвата лямбда внутри функции-члена

следующий код компилируется с gcc 4.5.1, но не с VS2010 SP1: #include <iostream> #include <vector> #include <map> #include <utility> #include <set> #include <algorithm> using namespace std; class puzzle { vector<vector<int>> grid; map<int,set<int>> groups; public: int member_function(); }; int puzzle::member_function() { int i; for_each(groups.cbegin(),groups.cend(),[grid,&i](pair<int,se ...

Что значит шаблон?

при объявлении шаблона я привык иметь такой код: template <class T> но в этом вопросе, они использовали: template <unsigned int N> Я проверил, что он компилирует. Но что это значит? Это не тип параметра? И если да, то как мы можем иметь шаблон без какого-либо параметра типа? ...

Почему встроенные функции C++ в заголовке?

NB это не вопрос о том, как использовать встроенные функции и как они работают, почему они сделали так, как они. объявление функции-члена класса не нужно определять функцию как inline, это только фактическая реализация функции. Например, в заголовочном файле: struct foo{ void bar(); // no need to define this as inline } так почему же встроенная реализация класса function есть чтобы быть в заголовочном файле? Почему я не могу поставить встроенную функцию ? Если я где попробовать поставит ...

Что именно означают "IB" и "UB"?

Я видел термины "IB" и "UB", используемые несколько раз, особенно в контексте C++. Я пробовал гуглить их, но, видимо, эти двухбуквенные комбинации видят много пользы. : P Итак, я вас спрашиваю...что они имеют в виду, когда говорят, что они плохие? ...

Как завершить поток в C++11?

Мне не нужно правильно завершать поток или заставлять его реагировать на команду "завершить". Я заинтересован в том, чтобы принудительно завершить поток, используя чистый C++11. ...

Как реализуются виртуальные функции и vtable?

мы все знаем, что виртуальные функции в C++, но как они реализуются на более глубоком уровне? можно ли изменить таблицу vtable или даже получить к ней прямой доступ во время выполнения? существует ли vtable для всех классов или только для тех, которые имеют хотя бы одну виртуальную функцию? абстрактные классы просто имеют значение NULL для указателя функции хотя бы одной записи? наличие одной виртуальной функции замедляет весь класс? Или только вызов функции, которая является виртуальной? ...

неразрешенный внешний символ imp fprintf и imp iob func, SDL2

может кто-нибудь объяснить, что такое _ _ imp__fprintf и __бесенок____работа_по func неразрешенные внешние средства? потому что я получаю эти ошибки, когда я пытаюсь скомпилировать: 1>SDL2main.lib(SDL_windows_main.obj) : error LNK2019: unresolved external symbol __imp__fprintf referenced in function _ShowError 1>SDL2main.lib(SDL_windows_main.obj) : error LNK2019: unresolved external symbol __imp____iob_func referenced in function _ShowError 1>E:DocumentsVisual Studio 2 ...

Как безопасно передавать объекты, особенно объекты STL, в DLL и из нее?

Как передать объекты класса, особенно объекты STL, в библиотеку DLL C++ и из нее? мое приложение должно взаимодействовать со сторонними плагинами в виде DLL-файлов, и я не могу контролировать, с каким компилятором эти плагины построены. Я знаю, что нет гарантированного ABI для объектов STL, и я обеспокоен тем, что вызывает нестабильность в моем приложении. ...

неопределенная ссылка на boost:: system:: system category () при компиляции

Я пытаюсь скомпилировать программу на Ubuntu 11.10, которая использует библиотеки Boost. У меня есть библиотеки 1.46-dev Boost из репозитория Ubuntu, но я получаю ошибку при компиляции программы. undefined reference to boost::system::system_category() что я делаю не так? ...

Где я могу получить "полезный" алгоритм двоичного поиска C++?

мне нужен алгоритм двоичного поиска, совместимый с контейнерами C++ STL, что-то вроде std::binary_search в стандартной библиотеке <algorithm> заголовок, но мне нужно, чтобы он возвращал итератор, который указывает на результат, а не простое логическое значение, сообщающее мне, Существует ли элемент. (на боковой ноте, что, черт возьми, думал стандартный комитет, когда они определили API для binary_search?!) моя главная задача здесь заключается в том, что мне нужна скорость бинарного поиск ...