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

91
Когда лишние круглые скобки влияют, кроме приоритета оператора?

Круглые скобки в C ++ используются во многих местах: например, в вызовах функций и выражениях группировки для переопределения приоритета операторов. Помимо недопустимых дополнительных круглых скобок (например, вокруг списков аргументов вызова функций), общее, но не абсолютное правило C ++ состоит...

91
Почему у этой структуры размер 3 вместо 2?

Я определил эту структуру: typedef struct { char A:3; char B:3; char C:3; char D:3; char E:3; } col; sizeof(col)Дать мне выход 3, но она не должна быть 2? Если я прокомментирую только один элемент, то sizeofбудет 2. Я не понимаю, почему: пять элементов по 3 бита равны 15 битам, а это меньше 2...

91
Почему самое отрицательное значение int вызывает ошибку о неоднозначных перегрузках функций?

Я изучаю перегрузку функций в C ++ и наткнулся на это: void display(int a) { cout << "int" << endl; } void display(unsigned a) { cout << "unsigned" << endl; } int main() { int i = -2147483648; cout << i << endl; //will display -2147483648 display(-2147483648); }...

90
Как получить использование памяти во время выполнения с помощью C ++?

Мне нужно получить использование памяти VIRT и RES во время выполнения моей программы и отобразить их. Что я пробовал до сих пор: getrusage ( http://linux.die.net/man/2/getrusage ) int who = RUSAGE_SELF; struct rusage usage; int ret; ret=getrusage(who,&usage); cout<<usage.ru_maxrss; но я...

90
Я слышал, что i ++ не является потокобезопасным, а ++ i - потокобезопасным?

Я слышал, что i ++ не является потокобезопасным оператором, так как в сборке он сводится к сохранению исходного значения в качестве временного где-то, увеличению его, а затем замене, что может быть прервано переключением контекста. Однако меня интересует ++ i. Насколько я могу судить, это...

90
В этом конкретном случае есть ли разница между использованием списка инициализаторов членов и присвоением значений в конструкторе?

Есть ли разница между внутренне и сгенерированным кодом: MyClass::MyClass(): _capacity(15), _data(NULL), _len(0) { } а также MyClass::MyClass() { _capacity=15; _data=NULL; _len=0 } Благодарность...

90
Что это (( ))?

Просматривая исходный код компилятора gcc (gcc / c-family / c-pragma.c), я вижу: typedef struct GTY(()) align_stack { int alignment; tree id; struct align_stack * prev; } align_stack; и, несмотря на то, что у меня за плечами много лет программирования на C, эти биты: (())мне еще полностью...

90
Как записывать веб-камеру и аудио с помощью webRTC и однорангового соединения на основе сервера

Я хочу записать пользовательскую веб-камеру и аудио и сохранить их в файл на сервере. Затем эти файлы можно будет передать другим пользователям. У меня нет проблем с воспроизведением, но у меня проблемы с записью контента. Насколько я понимаю, .record()функция getUserMedia еще не написана - пока...

90
Должен ли я получить блокировку перед вызовом condition_variable.notify_one ()?

Я немного запутался в использовании std::condition_variable. Я понимаю , что я должен создать unique_lockна mutexперед вызовом condition_variable.wait(). Я не могу найти, нужно ли мне также получить уникальную блокировку перед вызовом notify_one()или notify_all(). Примеры на cppreference.com...

90
Ошибка при использовании внутриклассовой инициализации нестатического члена данных и конструктора вложенного класса

Следующий код довольно тривиален, и я ожидал, что он будет нормально компилироваться. struct A { struct B { int i = 0; }; B b; A(const B& _b = B()) : b(_b) {} }; Я тестировал этот код с g ++ версии 4.7.2, 4.8.1, clang ++ 3.2 и 3.3. Помимо того факта, что в этом коде происходит ошибка g ++...

90
Почему memmove быстрее, чем memcpy?

Я исследую «горячие точки» производительности в приложении, которое 50% времени проводит в memmove (3). Приложение вставляет миллионы 4-байтовых целых чисел в отсортированные массивы и использует memmove для смещения данных «вправо», чтобы освободить место для вставленного значения. Я ожидал, что...

90
Почему лямбда имеет размер 1 байт?

Я работаю с памятью некоторых лямбд в C ++, но меня немного озадачивает их размер. Вот мой тестовый код: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl; std::cout...

90
оператор if - оценка короткого замыкания vs удобочитаемость

Иногда ifоператор может быть довольно сложным или длинным, поэтому для удобства чтения лучше извлекать сложные вызовы перед оператором if. например, это: if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall()) { // do stuff } в это bool b1 = SomeComplicatedFunctionCall(); bool b2 =...

90
Разрешена ли такая оптимизация с плавающей запятой?

Я попытался проверить, где floatтеряет способность точно представлять большие целые числа. Итак, я написал этот небольшой фрагмент: int main() { for (int i=0; ; i++) { if ((float)i!=i) { return i; } } } Этот код работает со всеми компиляторами, кроме clang. Clang генерирует простой бесконечный...

90
Зачем создавать язык с уникальными анонимными типами?

Это то, что меня всегда беспокоило как особенность лямбда-выражений C ++: тип лямбда-выражения C ++ уникален и анонимен, я просто не могу его записать. Даже если я создам две лямбда-выражения, которые синтаксически совершенно одинаковы, результирующие типы определены как разные. Следствием этого...