Запитання з тегом «c++»

C ++ - мова програмування загального призначення. Спочатку він був розроблений як розширення до C і має подібний синтаксис, але зараз це зовсім інша мова. Використовуйте цей тег для запитань про код (який потрібно) зібрати за допомогою компілятора C ++. Використовуйте тег, що стосується версії, для питань, пов’язаних із конкретною стандартною редакцією [C ++ 11], [C ++ 14], [C ++ 17] або [C ++ 20] тощо.

8
Як записати веб-камеру та аудіо за допомогою webRTC та серверного з’єднання Peer
Я хотів би записати веб-камеру та звук користувачів та зберегти їх у файл на сервері. Потім ці файли можна буде подавати іншим користувачам. У мене немає проблем із відтворенням, однак у мене виникають проблеми з отриманням вмісту для запису. Я розумію, що .record()функція getUserMedia ще не написана - поки що …


8
Як виправити помилку “Windows SDK версії 8.1” не знайдено?
Нещодавно я оновив Visual Studio 2015 і зараз, коли я намагаюся створити будь-який проект, він завжди зазнає невдачі, і я отримую помилку Код серйозності Опис Помилка стану придушення рядка файлу проекту MSB8036 Windows SDK версії 8.1 не знайдено. Встановіть необхідну версію Windows SDK або змініть версію SDK на сторінках властивостей …

2
Яка мета використання союзу лише з одним членом?
Коли я читав вихідний код моря , я помітив, що існує структура союзу, tx_sideяка має лише одного члена. Це якийсь хакер для вирішення певної проблеми? FYI, я вставляю tx_sideструктуру нижче: union tx_side { tx_side() {} ~tx_side() {} void init() { new (&a) aa; } struct aa { std::deque<work_item*> pending_fifo; } …
89 c++  c++14  unions 

6
Якась причина не використовувати глобальні лямбда?
У нас була функція, яка використовувала внутрішню для себе лямбда, яка не захоплює, наприклад: void foo() { auto bar = [](int a, int b){ return a + b; } // code using bar(x,y) a bunch of times } Тепер функціонал, реалізований лямбда, став необхідним в іншому місці, тому я збираюся …
89 c++  lambda 

5
Чому лямбда має розмір 1 байт?
Я працюю з пам’яттю деяких лямбд у C ++, але трохи здивований їх розміром. Ось мій тестовий код: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl; std::cout << sizeof(f) << std::endl; } Ви можете …
89 c++  c++11  lambda  c++14  sizeof 

3
Як зробити умовний typedef у C ++
Я намагаюся зробити щось подібне: #include <iostream> #include <random> typedef int Integer; #if sizeof(Integer) <= 4 typedef std::mt19937 Engine; #else typedef std::mt19937_64 Engine; #endif int main() { std::cout << sizeof(Integer) << std::endl; return 0; } але я отримую цю помилку: error: missing binary operator before token "(" Як я можу …
89 c++  c++11 


5
Що означає "std :;" робити в C ++?
Нещодавно я модифікував деякий код і знайшов уже існуючу помилку в одному рядку у функції: std:;string x = y; Цей код все ще компілюється і працює належним чином. Визначення рядка працює, оскільки цей файл є using namespace std;, тому std::спочатку це було непотрібним. Питання в тому, чому std:;компіляція і що, …
89 c++  std  colon 

2
Чому символ "А" порівнюють з 0x41?
Я переглядав якийсь C ++ код і знайшов таку конструкцію: if('A' == 0x41) { // ... } else if('A' == 0xc1) { // ... } else { // ... } Я отримую попередження Visual Studio про те, що: Попередження Умовний вираз C4127 є постійним. Visual Studio явно має рацію - …
89 c++  string 

4
Чому немає стандартного переміщення / конструктора переміщення?
Я простий програміст. Змінні членів мого класу найчастіше складаються з типів POD та STL-контейнерів. Через це мені рідко доводиться писати оператори присвоєння або конструктори копіювання, оскільки вони реалізовані за замовчуванням. Додайте до цього, якщо я використовую std::moveна об'єктах, що не рухаються, він використовує оператор присвоєння, тобто std::moveабсолютно безпечний. Оскільки я …

4
Чому memmove швидший, ніж memcpy?
Я досліджую гарячі точки продуктивності в додатку, який проводить 50% свого часу в memmove (3). Додаток вставляє мільйони 4-байтових цілих чисел у відсортовані масиви та використовує memmove для зсуву даних "вправо", щоб звільнити місце для вставленого значення. Я сподівався, що копіювання пам'яті відбувається надзвичайно швидко, і я був здивований тим, …
89 c++  c  performance  memory 


12
Як оголосити масив рядків у C ++?
Я намагаюся найкращим чином переглядати всі елементи статичного масиву рядків. Я хочу мати можливість оголосити це в одному рядку та легко додавати / видаляти елементи з нього, не відстежуючи номер. Звучить насправді просто, чи не так? Можливі рішення: vector<string> v; v.push_back("abc"); b.push_back("xyz"); for(int i = 0; i < v.size(); i++) …
89 c++  arrays 

3
Що саме є правилом “як би”?
Як сказано в назві, Що саме є правилом "як би"? Типова відповідь, яку можна отримати: Правило, яке допускає будь-які перетворення коду, які не змінюють спостережувану поведінку програми Час від часу ми постійно отримуємо поведінку від певних реалізацій, які приписуються цьому правилу. Багато разів помилково. Отже, яке саме це правило. Стандарт …
89 c++  c  optimization  c++-faq  as-if 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.