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

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

17
В чем смысл указателей на функции?
Мне сложно увидеть полезность указателей на функции. Я предполагаю, что в некоторых случаях это может быть полезно (в конце концов, они существуют), но я не могу придумать случая, когда лучше или неизбежно использовать указатель на функцию. Не могли бы вы привести пример правильного использования указателей на функции (на C или …
94 c++  c  function  pointers  c++-faq 

2
Пример генерации UUID с использованием Boost в C ++
Я хочу сгенерировать только случайные UUID, так как для экземпляров в моей программе просто важно иметь уникальные идентификаторы. Я изучил Boost UUID , но мне не удалось сгенерировать UUID, потому что я не понимаю, какой класс и метод использовать. Я был бы признателен, если бы кто-нибудь мог дать мне какой-либо …
94 c++  boost  uuid  boost-uuid 

7
Можно ли различить 0 и -0?
Я знаю, что целочисленные значения 0и -0по сути совпадают. Но мне интересно, можно ли их различить. Например, как узнать, назначена ли переменная -0? bool IsNegative(int num) { // How ? } int num = -0; int additinon = 5; num += (IsNegative(num)) ? -addition : addition; Сохраняется ли значение -0в …

8
Вернуть объект «NULL», если результат поиска не найден.
Я новичок в C ++, поэтому, когда учусь, я стараюсь использовать множество Java-измов. В любом случае, в Java, если бы у меня был класс с методом поиска, который возвращал бы объект Tиз a, Collection< T >который соответствует определенному параметру, я бы вернул этот объект, а если бы объект не был …

10
Как мне создать «разделитель» в структуре памяти класса C ++?
Проблема В низкоуровневом встроенном контексте « голого металла» я хотел бы создать пустое пространство в памяти внутри структуры C ++ без какого-либо имени, чтобы запретить пользователю доступ к такой области памяти. Прямо сейчас я добился этого, поместив уродливое uint32_t :96;битовое поле, которое удобно заменит три слова, но вызовет предупреждение от …


2
Как работает уязвимость JPEG of Death?
Я читал о более старом эксплойте против GDI + в Windows XP и Windows Server 2003, который называется JPEG смерти для проекта, над которым я работаю. Эксплойт подробно описан в следующей ссылке: http://www.infosecwriters.com/text_resources/pdf/JPEG.pdf По сути, файл JPEG содержит раздел под названием COM, содержащий (возможно, пустое) поле комментария и двухбайтовое значение, …
94 c++  security  memcpy  malware 

3
В чем разница между «Включить каталоги» и «Дополнительные каталоги включения»
В свойствах конфигурации моего проекта в разделе «Каталоги VC ++» есть запись «Включить каталоги». Но в разделе «C / C ++» есть еще одна запись под названием «Дополнительные подключаемые каталоги». То же самое происходит с каталогами библиотек. В чем разница между этими двумя записями?

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

8
Почему разделение строки в C ++ выполняется медленнее, чем в Python?
Я пытаюсь преобразовать код с Python на C ++, чтобы немного ускориться и отточить мои ржавые навыки C ++. Вчера я был шокирован, когда наивная реализация чтения строк из stdin была намного быстрее в Python, чем в C ++ (см. Это ). Сегодня я наконец понял, как разбить строку в …

7
C / C ++ с GCC: статическое добавление файлов ресурсов в исполняемый файл / библиотеку
Кто-нибудь знает, как статически скомпилировать любой файл ресурсов прямо в исполняемый файл или файл общей библиотеки с помощью GCC? Например, я хотел бы добавить файлы изображений, которые никогда не меняются (а если они это сделают, мне все равно придется заменить файл), и я бы не хотел, чтобы они валялись в …


3
Как установить точки останова в будущих разделяемых библиотеках с помощью флага команды
Я пытаюсь автоматизировать сеанс gdb с помощью --commandфлага. Я пытаюсь установить точку останова для функции в разделяемой библиотеке (эквивалент DLL в Unix). Мой cmds.gdb выглядит так: set args /home/shlomi/conf/bugs/kde/font-break.txt b IA__FcFontMatch r Однако я получаю следующее: shlomi: ~ / progs / bugs-external / kde / font-break $ gdb --command = …
94 c++  c  linux  unix  gdb 

2
Что означает [=] в C ++?
Я хочу знать, что [=]делает? Вот небольшой пример template <typename T> std::function<T (T)> makeConverter(T factor, T offset) { return [=] (T input) -> T { return (offset + input) * factor; }; } auto milesToKm = makeConverter(1.60936, 0.0); Как будет работать код []вместо [=]? Я предполагаю что std::function<T (T)> означает …
94 c++  c++11  lambda 

8
Лямбда C ++ с захватами в качестве указателя на функцию
Я играл с лямбдами C ++ и их неявным преобразованием в указатели на функции. В моем начальном примере они использовались в качестве обратного вызова для функции ftw. Это работает, как ожидалось. #include <ftw.h> #include <iostream> using namespace std; int main() { auto callback = [](const char *fpath, const struct stat …

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