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.

4
Jak przekazać std :: unique_ptr?
Mam pierwszą próbę użycia C ++ 11 unique_ptr; Zastępuję polimorficzny surowy wskaźnik wewnątrz mojego projektu, który jest własnością jednej klasy, ale jest często przekazywany. Kiedyś miałem takie funkcje, jak: bool func(BaseClass* ptr, int other_arg) { bool val; // plain ordinary function that does something... return val; } Ale szybko zdałem …
85 c++  c++11  unique-ptr 

3
Wywołanie pthread_cond_signal bez blokowania muteksu
Czytałem gdzieś, że powinniśmy zablokować muteks przed wywołaniem pthread_cond_signal i odblokować muteks po wywołaniu go: Funkcja pthread_cond_signal () służy do sygnalizowania (lub wybudzania) innego wątku, który oczekuje na zmienną warunku. Powinien zostać wywołany po zablokowaniu muteksu i musi odblokować muteks, aby procedura pthread_cond_wait () została zakończona. Moje pytanie brzmi: czy …

12
Czy można bezpiecznie zwrócić strukturę w C lub C ++?
Rozumiem, że nie należy tego robić, ale wydaje mi się, że widziałem przykłady, które robią coś takiego (kod notatki niekoniecznie jest poprawny składniowo, ale pomysł istnieje) typedef struct{ int a,b; }mystruct; A oto funkcja mystruct func(int c, int d){ mystruct retval; retval.a = c; retval.b = d; return retval; } …

4
Dlaczego ADL nie znajduje szablonów funkcji?
Która część specyfikacji C ++ ogranicza wyszukiwanie zależne od argumentów od znajdowania szablonów funkcji w zestawie powiązanych przestrzeni nazw? Innymi słowy, dlaczego ostatnie wywołanie mainponiżej nie daje się skompilować? namespace ns { struct foo {}; template<int i> void frob(foo const&) {} void non_template(foo const&) {} } int main() { ns::foo …

15
użyj std :: fill, aby zapełnić wektor rosnącymi liczbami
Chciałbym wypełnić vector<int>użycie std::fill, ale zamiast jednej wartości wektor powinien zawierać liczby w kolejności rosnącej po. Próbowałem to osiągnąć, iterując trzeci parametr funkcji o jeden, ale to dałoby mi tylko wektory wypełnione 1 lub 2 (w zależności od pozycji ++operatora). Przykład: vector<int> ivec; int i = 0; std::fill(ivec.begin(), ivec.end(), i++); …
85 c++  stl 

9
Jak obejść ostrzeżenie „brak 'aclocal-1.15' w twoim systemie”?
Próbuję uruchomić program C ++ na githubie. (dostępne pod następującym linkiem https://github.com/mortehu/text-classifier ) Mam Maca i próbuję go uruchomić w terminalu. Myślę, że pobrałem autoconf i automake, ale nie jestem pewien. Aby uruchomić program, przechodzę do odpowiedniego folderu w terminalu, a następnie uruchamiam ./configure && make Ale pojawia się błąd: …


7
dlaczego rozmiar pamięci stosu jest tak ograniczony?
Kiedy alokujesz pamięć na stercie, jedynym ograniczeniem jest wolna pamięć RAM (lub pamięć wirtualna). To sprawia, że ​​Gb pamięci. Dlaczego więc rozmiar stosu jest tak ograniczony (około 1 Mb)? Jaki powód techniczny uniemożliwia tworzenie naprawdę dużych obiektów na stosie? Aktualizacja : Mój zamiar może nie być jasny, nie chcę umieszczać …

4
Jak działa std :: flush?
Czy ktoś może wyjaśnić (najlepiej używając zwykłego angielskiego), jak std::flushdziała? Co to jest? Kiedy spłukiwałbyś strumień? Dlaczego to jest ważne? Dziękuję Ci.
85 c++  stream 

6
Jak przekierować wyjście qDebug, qWarning, qCritical itp.?
Używam wielu qDebug() <<instrukcji do debugowania. Czy istnieje międzyplatformowy sposób przekierowania wyników debugowania do pliku bez uciekania się do skryptów powłoki? Zgaduję, że open () i dup2 () wykonają zadanie w Linuksie, ale czy będą działać skompilowane z MinGW w Windows? A może jest na to sposób Qt?
85 c++  debugging  qt  mingw  qdebug 

5
Odwołuj się do zmiennych składowych jako członków klasy
W moim miejscu pracy ten styl jest szeroko stosowany: - #include <iostream> using namespace std; class A { public: A(int& thing) : m_thing(thing) {} void printit() { cout << m_thing << endl; } protected: const int& m_thing; //usually would be more complex object }; int main(int argc, char* argv[]) { …
85 c++  reference 

11
Czy x + = szybciej niż x = x + a?
Czytałem „Język programowania C ++” Stroustrupa, w którym mówi, że na dwa sposoby można dodać coś do zmiennej x = x + a; i x += a; Woli, +=bo najprawdopodobniej jest lepiej zaimplementowany. Myślę, że ma na myśli, że to też działa szybciej. Ale czy to naprawdę? Jeśli to zależy …


4
długo w C / C ++
Próbuję tego kodu na kompilatorze GNU C ++ i nie jestem w stanie zrozumieć jego zachowania: #include <stdio.h>; int main() { int num1 = 1000000000; long num2 = 1000000000; long long num3; //num3 = 100000000000; long long num4 = ~0; printf("%u %u %u", sizeof(num1), sizeof(num2), sizeof(num3)); printf("%d %ld %lld %llu", …


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.