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


M PI работает с математикой.h но не с cmath в Visual Studio

Я использую Visual Studio 2010. Я читал, что в C++ лучше использовать <cmath>, а не <math.h>. но в программе я пытаюсь написать (консольное приложение Win32, пустой проект), если я пишу: #define _USE_MATH_DEFINES #include <math.h> он компилируется, а если я пишу #define _USE_MATH_DEFINES #include <cmath> выдает ошибка C2065: 'M_PI' : необъявленный идентификатор это нормально? Имеет ли значение, если я использую cmath или математике.ч? Если да, то как могу л ...

Язык C++: длинный тип int и Long и int и int64 значение типа Т

я испытал некоторое странное поведение при использовании черт типа C++ и сузил свою проблему до этой причудливой маленькой проблемы, для которой я дам тонну объяснений, так как я не хочу оставлять ничего открытым для неправильного толкования. скажем, у вас есть такая программа: #include <iostream> #include <cstdint> template <typename T> bool is_int64() { return false; } template <> bool is_int64<int64_t>() { return true; } int main() { std::cout << "int ...

C++ преобразование вектора в вектор

Что такое хороший чистый способ преобразования std::vector<int> intVec до std::vector<double> doubleVec. Или, в более общем плане, преобразовать два вектора конвертируемых типов? ...

Должен ли я использовать printf в моем коде C++?

Я обычно использую cout и cerr для записи текста на консоль. Однако иногда мне легче использовать старый добрый printf заявление. Я использую его, когда мне нужно отформатировать вывод. один пример, где я хотел бы использовать это: // Lets assume that I'm printing coordinates... printf("(%d,%d)n", x, y); // To do the same thing as above using cout.... cout << "(" << x << "," << y << ")" << endl; Я знаю, что могу форматировать вывод с помощью cout но я ...

Кросс-Платформенный Таймер Высокого Разрешения C++

Я ищу, чтобы реализовать простой механизм таймера в C++. Код должен работать в Windows и Linux. Разрешение должно быть максимально точным (не менее миллисекундной точности). Это будет использоваться для простого отслеживания хода времени, а не для реализации какого-либо событийного дизайна. Что является лучшим инструментом для достижения этой цели? ...

Проблема производительности: Java vs C++

Я всегда слышал, что C++ был более эффективен, чем Java (и именно поэтому большинство игр разрабатываются на C++). Я написал небольшой алгоритм для решения "головоломки восьми Королев" как на Java, так и на C++, используя тот же самый алгоритм, а затем начал поднимать число или квадраты. При достижении чекбордов 20 * 20 или даже 22 * 22, кажется, что Java намного эффективнее (3 секунды против 66 секунд для C++). Я понятия не имею, почему, но я довольно начинаю с C++, так что, возможно, я сдела ...

Как записать в окно вывода в Visual Studio?

какую функцию следует использовать для вывода текста в окно "вывод" в Visual Studio? пробовал printf() но он не появляется. ...

C++11: Почему переменная std::condition использует std:: unique lock?

Я немного запутался в роли std::unique_lock при работе с std::condition_variable. Насколько я понял документация,std::unique_lock в основном раздутый замок охранник, с возможностью замены состояния между двумя замками. Я до сих пор использовать pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex) для этой цели (я думаю, что это то, что STL использует на posix). Для этого нужен мьютекс, а не замок. какая здесь разница? Тот факт, что std::condition_variable занимается std::unique_lock ...

Как преобразовать CString и:std:: string:std:: wstring друг в друга?

CString - Это довольно удобно, в то время как std::string более совместим с контейнером STL. Я использую hash_map. Однако,hash_map не поддерживает CString как ключ, поэтому я хочу, чтобы преобразовать CString на std::string. пишем CString хэш-функция, кажется, занимает много времени. CString -----> std::string как я могу это сделать? std::string -----> CString: inline CString toCString(std::string const& str) { return CString(str.c_str()); } я прав? EDIT: вот еще вопрос ...

неустранимая ошибка LNK1104: не удается открыть файл 'libboost system-vc110-mt-gd-1 51.lib'

кажется, я не могу заставить это работать. Я создал простое консольное приложение (которое зависит от websocket++ библиотека), который нужен Boost библиотеки.. но когда я пытаюсь скомпилировать я получаю: неустранимая ошибка LNK1104: не удается открыть файл ' libboost_system-vc110-mt-gd-1_51.lib' тем не менее, я сделал bjam, который создал lib в (boost_root)/stage/libs и я связал путь к библиотекам с компилятором C++/Additionnals includes. если я посмотрю в (boost_root)/stage/libs файл li ...

Смешивание Qt и Boost

Я смотрю на запуск проекта в C++ с использованием фреймворка Qt 4 (требуется кросс-платформенный графический интерфейс). Я слышал много хорошего о библиотеках Boost от друзей и в интернете. Я начал читать на обоих и хотел задать беглый вопрос, прежде чем я слишком глубоко: являются ли эти две "системы" развития взаимоисключающими? мой первоначальный поиск и чтение показывает некоторое перекрытие в обработке сигналов, пользовательских системах сборки и других низкоуровневых системах примитивы ...

Как я должен иметь дело с мьютексами в подвижных типах в C++?

конструкция std::mutex не движимости, ни скопировать-технологичная. Это означает, что класс A, который содержит мьютекс, не получит конструктор перемещения по умолчанию. как бы я сделал этот тип A движимость в потокобезопасным способом? ...

Ошибка проекта: Неизвестный модуль(ы) в QT: webkitwidgets

я переношу код из qt4 в qt5. Я добавил следующую строку в мой , как предложил: QT += webkitwidgets однако, когда я запускаю qmake, Я получаю эту ошибку: Project ERROR: Unknown module(s) in QT: webkitwidgets Я разрабатываю на Ubuntu 12.04 LTS и установил Qt как рассказали. ...

Преимущества библиотек только для заголовков

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

Связывание с libstdc++ статически: каких подводных камней?

Мне нужно развернуть приложение C++, построенное на Ubuntu 12.10 с GCC 4.7 libstdc++ для систем под управлением Ubuntu 10.04, который поставляется со значительно более старой версией libstdc++. В настоящее время я компилирую с -static-libstdc++ -static-libgcc, как предлагается в этом блоге: связывание libstdc++ статически. Автор предупреждает об использовании любого динамически загружаемого кода C++ при компиляции libstdc++ статически, что я еще не проверил. По-прежнему, все вроде бы пока все и ...

Динамическая загрузка функции из библиотеки DLL

Я немного посмотрю .dll файлы, я понимаю их использование, и я пытаюсь понять, как их использовать. Я создал a .dll файл, содержащий функцию, которая возвращает целое число с именем funci () используя этот код, я (думаю) я импортировал .dll файл в проект(нет никаких жалоб): #include <windows.h> #include <iostream> int main() { HINSTANCE hGetProcIDDLL = LoadLibrary("C:Documents and SettingsUserDesktop fgfdgdgdgtest.dll"); if (hGetProcIDDLL == NULL) { std::cout < ...

Использование Boost для чтения и записи XML-файлов

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

Инкрементирование в C++ - Когда использовать x++ или ++x?

в настоящее время я изучаю C++, и я узнал о приращении некоторое время назад. Я знаю, что вы можете использовать "++x", чтобы сделать инкремент до и "x++", чтобы сделать это после. тем не менее, я действительно не знаю, когда использовать любой из двух... Я никогда не использовал "++x", и до сих пор все работало нормально - так, когда я должен его использовать? пример: в цикле for, когда предпочтительнее использовать "++x"? кроме того, может кто-нибудь объяснить, как именно различные приращен ...

Неустранимая ошибка:" нет целевой архитектуры " в Visual Studio

когда я пытаюсь скомпилировать свой проект c++ с помощью Visual Studio 2010 в режиме Win32 или x64, я получаю следующую ошибку: >C:Program Files (x86)Microsoft SDKsWindowsv7.0Aincludewinnt.h(135): fatal error C1189: #error : "No Target Architecture" мои определения препроцессора говорят WIN32; _DEBUG; _CONSOLE;%(PreprocessorDefinitions) что вызывает эту ошибку и как это исправить? // winnt.h: lines 127-136, MSVS says this is an inactive preprocessor block #if defined(_WIN64) #if d ...

инвертирование матрицы 4x4

Я ищу пример реализации кода о том, как инвертировать матрицу 4x4. я знаю, что есть гауссовское элеминирование, разложение LU и т. д. но вместо того, чтобы смотреть на них в деталях, я просто ищу код, чтобы сделать это. язык в идеале C++, данные доступны в массиве из 16 поплавков в cloumn-мажорном порядке. спасибо! ...