Pytania oznaczone «c++»

96
Jakie jest znaczenie terminu „darmowa funkcja” w C ++?

Czytając dokumentację do boost :: test, natknąłem się na termin „darmowa funkcja”. Rozumiem, że wolna funkcja to dowolna funkcja, która nic nie zwraca (jej typ zwracania to void). Ale po dalszej lekturze wydaje się, że wolne funkcje również nie przyjmują żadnych argumentów. Ale nie jestem...

96
Jak usunąć określone znaki z ciągu w C ++?

Na przykład mam użytkownika, który wprowadza numer telefonu. cout << "Enter phone number: "; INPUT: (555) 555-5555 cin >> phone; Chcę usunąć znaki „(”, „)” i „-” z ciągu. Przyjrzałem się ciągowi funkcji usuń, znajdź i zamień, ale widzę tylko, że działają one w oparciu o...

96
Operator tyldy w C

Widziałem operator tyldy używany w algorytmie mieszania ELF i jestem ciekaw, co on robi. (Kod pochodzi z Eternally Confused ). unsigned elf_hash ( void *key, int len ) { unsigned char *p = key; unsigned h = 0, g; int i; for ( i = 0; i < len; i++ ) { h = ( h << 4 ) + p[i]; g = h...

96
Dlaczego nie ma std :: stou?

C ++ 11 dodał kilka nowych funkcji konwersji ciągów: http://en.cppreference.com/w/cpp/string/basic_string/stoul Zawiera stoi (ciąg do wartości typu int), stol (ciąg do długości długiej), stoll (ciąg do długości długiej bez znaku), stoul (ciąg do długości bez znaku), stoull (ciąg do długości...

96
Co to jest „tupot pamięci”?

Właśnie natknąłem się na ten wpis na blogu, który wspomina o „tupaniu pamięci”: program w C ++, który jest w stanie z łatwością tupać pamięć (coś, o czym prawdopodobnie nigdy nie słyszałeś, jeśli urodziłeś się w świecie kodu zarządzanego). Właściwie nigdy o tym nie słyszałem! Więc co to...

96
Jak działa metoda main () w C?

Wiem, że istnieją dwa różne podpisy do napisania głównej metody - int main() { //Code } lub do obsługi argumentu wiersza poleceń, piszemy go jako- int main(int argc, char * argv[]) { //code } W C++Wiem, że możemy przeciążyć metodę, ale w Cjaki sposób kompilator obsługiwać te dwa różne...

96
Co to znaczy „zatruwać funkcję” w C ++?

Na samym końcu wystąpienia Scotta Schurra „Wprowadzenie constexpr” na CppCon pyta „Czy istnieje sposób na zatrucie funkcji”? Następnie wyjaśnia, że ​​można to zrobić (choć w niestandardowy sposób) poprzez: Umieszczenie throww constexprfunkcji Deklarowanie nierozwiązanego problemu extern const...

96
Po co używać std :: make_unique w C ++ 17?

O ile rozumiem, wprowadzono C ++ 14 std::make_unique, ponieważ w wyniku nieokreślenia kolejności oceny parametrów było to niebezpieczne: f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (Wyjaśnienie: jeśli ocena najpierw przydzieli pamięć dla surowego wskaźnika, a...

95
Umieszczenie gwiazdki w deklaracjach wskaźników

Niedawno zdecydowałem, że muszę w końcu nauczyć się C / C ++ i jest jedna rzecz, której nie rozumiem, jeśli chodzi o wskaźniki, a dokładniej ich definicję. A co z tymi przykładami: int* test; int *test; int * test; int* test,test2; int *test,test2; int * test,test2; Otóż, według mojego...