Вопросы с тегом «c++»

C ++ - это язык программирования общего назначения. Первоначально он был разработан как расширение C и имеет аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде (который будет скомпилирован с помощью компилятора C ++). Используйте тег, зависящий от версии, для вопросов, связанных с конкретной редакцией стандарта [C ++ 11], [C ++ 14], [C ++ 17] или [C ++ 20] и т. Д.

3
В чем разница между include_directories и target_include_directories в CMake?
У меня есть структура каталогов для моего кода на C ++, которая выглядит следующим образом: | |->include |->src Я пишу файл CMakeLists.txt для своего кода. Я хочу понять разницу между include_directoriesи target_include_directoriesв CMake. В чем разница между их использованием и тем, что я должен использовать для добавления пути к включаемому …
134 c++  cmake 


18
Когда кто-нибудь будет использовать профсоюз? Это остаток от C-only дней?
Я научился, но на самом деле не получить союзы. Каждый текст на C или C ++, который я прохожу, представляет их (иногда мимоходом), но они, как правило, дают очень мало практических примеров того, почему или где их использовать. Когда профсоюзы будут полезны в современном (или даже устаревшем) случае? Мои только …
133 c++  c  unions 

3
Что произойдет, если вы вызовете erase () для элемента карты во время итерации от начала до конца?
В следующем коде я перебираю карту и проверяю, нужно ли удалить элемент. Безопасно ли стереть элемент и продолжить итерацию, или мне нужно собрать ключи в другом контейнере и выполнить второй цикл для вызова erase ()? map<string, SerialdMsg::SerialFunction_t>::iterator pm_it; for (pm_it = port_map.begin(); pm_it != port_map.end(); pm_it++) { if (pm_it->second == …
133 c++  stl  iterator 

3
Как распечатать uint64_t? Сбой: «ложный трейлинг«% »в формате»
Я написал очень простой тестовый код printf uint64_t: #include <inttypes.h> #include <stdio.h> int main() { uint64_t ui64 = 90; printf("test uint64_t : %" PRIu64 "\n", ui64); return 0; } Я использую ubuntu 11.10 (64 бит) и gcc версии 4.6.1 для его компиляции, но не смог: main.cpp: In function ‘int main()’: …
133 c++  c 


13
Любая оптимизация для произвольного доступа к очень большому массиву, когда значение в 95% случаев равно 0 или 1?
Есть ли возможная оптимизация для произвольного доступа к очень большому массиву (сейчас я использую uint8_tи спрашиваю, что лучше) uint8_t MyArray[10000000]; когда значение в любой позиции в массиве равно 0 или 1 для 95% всех случаев, 2 в 4% случаев, от 3 до 255 в остальном 1% случаев? Итак, есть ли …

16
Потоки Windows: _beginthread против _beginthreadex против CreateThread C ++
Какой лучший способ начать обсуждение _beginthread, _beginthreadxили CreateThread? Я пытаюсь определить, в чем преимущества / недостатки _beginthread, _beginthreadexи CreateThread. Все эти функции возвращают дескриптор потока для вновь созданного потока, я уже знаю, что CreateThread предоставляет небольшую дополнительную информацию при возникновении ошибки (ее можно проверить, позвонив GetLastError) ... но какие вещи …
133 c++  c  multithreading  winapi 

8
Насколько быстро D по сравнению с C ++?
Мне нравятся некоторые функции D, но было бы интересно, если они будут иметь штраф за время выполнения? Для сравнения я реализовал простую программу, которая вычисляет скалярные произведения многих коротких векторов как на C ++, так и на D. Результат удивительный: D: 18,9 с [окончательное время выполнения см. Ниже] C ++: …
133 c++  performance  runtime  d 

16
Продай меня за правильность констант
Так почему же всегда рекомендуется использовать const как можно чаще? Мне кажется, что использование const может быть больше проблемой, чем помочь в C ++. Но опять же, я подхожу к этому с точки зрения Python: если вы не хотите, чтобы что-то изменялось, не меняйте это. С учетом сказанного, вот несколько …

3
LLVM против clang в OS X
У меня вопрос относительно llvm, clang и gcc на OS X. В чем разница между llvm-gcc 4.2, llvm 2.0 и clang? Я знаю, что все они построены на llvm, но чем они отличаются? Помимо более быстрой компиляции, в чем преимущество llvm перед gcc?
133 c++  c  gcc  llvm  clang 



4
Подключение перегруженных сигналов и слотов в Qt 5
У меня проблемы с освоением нового синтаксиса сигнала / слота (с использованием указателя на функцию-член) в Qt 5, как описано в разделе «Синтаксис нового сигнального слота» . Я попытался изменить это: QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)); к этому: QObject::connect(spinBox, &QSpinBox::valueChanged, slider, &QSlider::setValue); но я получаю сообщение об ошибке при попытке его …
133 c++  qt  qt5 

6
Как использовать настраиваемое средство удаления с членом std :: unique_ptr?
У меня есть класс с членом unique_ptr. class Foo { private: std::unique_ptr<Bar> bar; ... }; Bar - это сторонний класс, который имеет функцию create () и функцию destroy (). Если бы я хотел использовать std::unique_ptrс ним в отдельной функции, я мог бы сделать: void foo() { std::unique_ptr<Bar, void(*)(Bar*)> bar(create(), [](Bar* …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.