Pytania oznaczone «c++»

133
C ++: dlaczego bool ma 8 bitów?

W C ++ zastanawiam się, dlaczego typ bool ma długość 8 bitów (w moim systemie), gdzie tylko jeden bit wystarczy do przechowywania wartości boolowskiej? Kiedyś sądziłem, że dzieje się tak ze względu na wydajność, ale na komputerze 32- lub 64-bitowym, gdzie rejestry mają szerokość 32 lub 64...

133
Dodać komunikaty niestandardowe w asercie?

Czy istnieje sposób, aby dodać lub edytować wiadomość generowaną przez assert? Chciałbym użyć czegoś takiego assert(a == b, "A must be equal to B"); Następnie kompilator dodaje linię , czas i tak dalej ... Czy to możliwe?

133
Jak szybko jest D w porównaniu z C ++?

Podoba mi się niektóre funkcje D, ale czy byłby zainteresowany, gdyby miały one karę w czasie wykonywania? Dla porównania zaimplementowałem prosty program, który oblicza iloczyn skalarny wielu krótkich wektorów zarówno w C ++, jak iw D. Wynik jest zaskakujący: D: 18,9 s [patrz poniżej, aby...

132
Co to jest „thunk”?

Widziałem go w programowaniu (szczególnie w domenie C ++) i nie mam pojęcia, co to jest. Prawdopodobnie jest to wzorzec projektowy, ale mogę się mylić. Czy ktoś może podać dobry przykład odruchu?

132
Jak przekonwertować zmienną typu wyliczenia na ciąg?

Jak sprawić, by printf pokazywał wartości zmiennych, które są typu wyliczeniowego? Na przykład: typedef enum {Linux, Apple, Windows} OS_type; OS_type myOS = Linux; a ja potrzebuję czegoś takiego printenum(OS_type, "My OS is %s", myOS); który musi pokazywać ciąg „Linux”, a nie liczbę...

132
Jakie są różnice między -std = c ++ 11 a -std = gnu ++ 11?

Jakie są różnice między parametrami kompilacji -std=c++11i -std=gnu++11jako parametrami gcc i clang? To samo pytanie z c99i gnu99? Wiem o standardach C ++ i C, interesują mnie różnice w parametrach. Czytałem gdzieś, że ma to związek z niektórymi rozszerzeniami, ale nie jest dla mnie jasne, które z...