Pytania otagowane jako c++

C ++ jest językiem programowania ogólnego przeznaczenia. Został pierwotnie zaprojektowany jako rozszerzenie do C i ma podobną składnię, ale teraz jest to zupełnie inny język. Ten znacznik służy do pytań o kod (kompilowany) za pomocą kompilatora C ++. Użyj tagu specyficznego dla wersji w przypadku pytań związanych z określoną wersją standardową [C ++ 11], [C ++ 14], [C ++ 17] lub [C ++ 20] itp.

8
Jak nagrywać kamerę internetową i dźwięk za pomocą webRTC i połączenia równorzędnego na serwerze
Chciałbym nagrać kamerę internetową i dźwięk użytkownika i zapisać do pliku na serwerze. Te pliki mogłyby być następnie udostępniane innym użytkownikom. Nie mam problemów z odtwarzaniem, ale mam problemy z nagraniem zawartości. Rozumiem, że .record()funkcja getUserMedia nie została jeszcze napisana - do tej pory złożono tylko propozycję. Chciałbym utworzyć połączenie …


8
Jak używać CCache z CMake?
Chciałbym wykonać następujące czynności: Jeśli CCache jest obecny w PATH, użyj „ccache g ++” do kompilacji, w przeciwnym razie użyj g ++. Spróbowałem napisać mały skrypt my-cmake zawierający CC="ccache gcc" CXX="ccache g++" cmake $* ale wygląda na to, że nie działa (uruchomiona make nadal nie używa ccache; sprawdziłem to używając …
90 c++  unix  cmake  ccache 


5
Dlaczego lambda ma rozmiar 1 bajtu?
Pracuję z pamięcią niektórych lambd w C ++, ale trochę mnie dziwi ich rozmiar. Oto mój kod testowy: #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; } Możesz go …
90 c++  c++11  lambda  c++14  sizeof 

2
Jaki jest cel używania związku z tylko jednym członkiem?
Kiedy czytałem kod źródłowy seastar , zauważyłem, że istnieje zwana struktura związkowa, tx_sidektóra ma tylko jednego członka. Czy to jakiś hack, aby poradzić sobie z pewnym problemem? Do Twojej wiadomości wklejam tx_sideponiższą strukturę: union tx_side { tx_side() {} ~tx_side() {} void init() { new (&a) aa; } struct aa { …
89 c++  c++14  unions 

6
Czy jest jakiś powód, aby nie używać globalnych lambdas?
Mieliśmy funkcję, która wykorzystywała wewnętrzną lambda, która nie przechwytuje, np .: void foo() { auto bar = [](int a, int b){ return a + b; } // code using bar(x,y) a bunch of times } Teraz funkcjonalność zaimplementowana przez lambda stała się potrzebna gdzie indziej, więc zamierzam foo()przenieść lambda z …
89 c++  lambda 


5
Co oznaczałoby „std :;” zrobić w C ++?
Niedawno modyfikowałem kod i znalazłem istniejący błąd w jednym wierszu funkcji: std:;string x = y; Ten kod nadal się kompiluje i działa zgodnie z oczekiwaniami. Definicja ciągu działa, ponieważ ten plik jest using namespace std;, więc od początku std::był niepotrzebny. Pytanie brzmi, dlaczego std:;kompilacja i co, jeśli w ogóle, robi?
89 c++  std  colon 

2
Dlaczego znak „A” miałby być porównywany z 0x41?
Patrzyłem na kod w C ++ i znalazłem następującą konstrukcję: if('A' == 0x41) { // ... } else if('A' == 0xc1) { // ... } else { // ... } Otrzymuję ostrzeżenie programu Visual Studio o treści: Ostrzeżenie Wyrażenie warunkowe C4127 jest stałe. Visual Studio ma rację - z pewnością …
89 c++  string 

4
Dlaczego nie ma domyślnego przypisania do przenoszenia / konstruktora przenoszenia?
Jestem prostym programistą. Zmienne składowe mojej klasy najczęściej składają się z typów POD i kontenerów STL. Z tego powodu rzadko muszę pisać operatory przypisania lub konstruktory kopiujące, ponieważ są one implementowane domyślnie. Dodajmy do tego, że jeśli używam std::movena obiektach, które nie są ruchome, używa operatora przypisania, co oznacza, że …

4
Dlaczego memmove jest szybsze niż memcpy?
Badam punkty aktywne wydajności w aplikacji, która spędza 50% czasu w memmove (3). Aplikacja wstawia miliony 4-bajtowych liczb całkowitych do posortowanych tablic i używa memmove do przesunięcia danych „w prawo” w celu zwolnienia miejsca na wstawioną wartość. Spodziewałem się, że kopiowanie pamięci będzie niezwykle szybkie i byłem zaskoczony, że tak …
89 c++  c  performance  memory 


12
Jak zadeklarować tablicę ciągów w C ++?
Staram się iterować wszystkie elementy statycznej tablicy ciągów w najlepszy możliwy sposób. Chcę móc zadeklarować go w jednej linii i łatwo dodawać / usuwać z niego elementy bez konieczności śledzenia liczby. Brzmi naprawdę prosto, prawda? Możliwe nierozwiązania: vector<string> v; v.push_back("abc"); b.push_back("xyz"); for(int i = 0; i < v.size(); i++) cout …
89 c++  arrays 

3
Czym dokładnie jest zasada „jak gdyby”?
Jak mówi tytuł, Czym dokładnie jest zasada „jak gdyby”? Typowa odpowiedź, jaką można uzyskać, to: Reguła zezwalająca na wszelkie transformacje kodu, które nie zmieniają obserwowalnego zachowania programu Od czasu do czasu otrzymujemy zachowania z pewnych implementacji, które są przypisane tej regule. Wiele razy źle. Na czym więc dokładnie polega ta …
89 c++  c  optimization  c++-faq  as-if 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.