Czy ktoś może opisać, czym jest tablica symboli w kontekście C i C ++?
Czy ktoś może opisać, czym jest tablica symboli w kontekście C i C ++?
Jestem nowy w programowaniu Windows i po przeczytaniu książki Petzolda zastanawiam się: czy nadal dobrą praktyką jest używanie TCHARtypu i _T()funkcji do deklarowania ciągów, czy też powinienem używać po prostu ciągów wchar_ti L""w nowym kodzie? Skoncentruję się tylko na systemie Windows 2000...
Mam problem z tym konstruktorem struktury, gdy próbuję skompilować ten kod: typedef struct Node { Node( int data ) // { this->data = data; previous = NULL; // Compiler indicates here next = NULL; } int data; Node* previous; Node* next; } NODE; kiedy przychodzę pojawia się ten...
Próbuję napisać program w C ++, w którym przy wpisywaniu przez użytkownika dowolnego znaku z klawiatury powinien on przejść do następnej linii kodu. Oto mój kod: char c; cin>>c; cout<<"Something"<<endl; ale to nie działa, ponieważ przechodzi do następnej linii tylko...
Czytałem, że kolejność pól bitowych w strukturze zależy od platformy. A jeśli użyję różnych opcji pakowania specyficznych dla kompilatora, czy ta gwarancja będzie przechowywana we właściwej kolejności, w jakiej są zapisywane? Na przykład: struct Message { unsigned int version : 3; unsigned...
Muszę przechowywać poufne informacje (symetryczny klucz szyfrowania, który chcę zachować dla siebie) w mojej aplikacji C ++. Prostym podejściem jest zrobienie tego: std::string myKey = "mysupersupersecretpasswordthatyouwillneverguess"; Jednak uruchomienie aplikacji przez stringsproces (lub...
Ponieważ konstruktor kopiujący MyClass(const MyClass&); i przeciążenie operatora = MyClass& operator = (const MyClass&); mają prawie taki sam kod, ten sam parametr i różnią się tylko zwrotem, czy jest możliwe, aby obie miały wspólną funkcję?
Czy słowo kluczowe unsigned ma domyślnie określony typ danych w C ++? Próbuję napisać funkcję dla klasy dla prototypu: unsigned Rotate(unsigned object, int count) Ale tak naprawdę nie rozumiem, co unsignedto znaczy. Nie powinno tak być, unsigned intczy coś?
Czy istnieje sposób, aby określić wartość domyślną std::map„s operator[]powroty gdy klucz nie istnieje?
Wiem, że kompilator C ++ tworzy konstruktor kopiujący dla klasy. W takim przypadku musimy napisać konstruktor kopiujący zdefiniowany przez użytkownika? Czy możesz podać kilka przykładów?
Rozumiem, że członkowskie przypisywanie tablic nie jest obsługiwane, więc następujące elementy nie będą działać: int num1[3] = {1,2,3}; int num2[3]; num2 = num1; // "error: invalid array assignment" Po prostu zaakceptowałem to jako fakt, stwierdzając, że celem języka jest zapewnienie otwartej...
Doświadczyłem dziwnego zachowania podczas używania cech typu C ++ i zawęziłem swój problem do tego dziwacznego małego problemu, dla którego dam mnóstwo wyjaśnień, ponieważ nie chcę zostawiać niczego otwartego na błędną interpretację. Powiedzmy, że masz taki program: #include...
Zastanawiałem się, czy istnieje skrót lub bardziej elegancki sposób uzyskania ostatniego znaku ciągu, jak w: char lastChar = myString.at( myString.length() - 1 ); myString.back()Wydaje się, że coś takiego nie istnieje. Czy istnieje odpowiednik?
Wiem, że specyfikacja języka zabrania częściowej specjalizacji szablonu funkcji. Chciałbym poznać uzasadnienie, dlaczego tego zabrania? Czy nie są przydatne? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {}
Próbuję wygenerować wykres wywoływania, za pomocą którego znajdę wszystkie możliwe ścieżki wykonania, które trafiają w określoną funkcję (aby nie musieć ręcznie wymyślać wszystkich ścieżek, ponieważ istnieje wiele ścieżek prowadzących do tej funkcji ). Na przykład: path 1: A -> B -> C...
typedef map<string, string> myMap; Podczas wstawiania nowej pary do myMap, użyje klucza stringdo porównania przez własny komparator ciągów. Czy można zastąpić ten komparator? Na przykład chciałbym porównać klucz na stringpodstawie jego długości, a nie alfabetu. Czy jest jakiś inny sposób...
Wiem, że poniższy kod to częściowa specjalizacja klasy: template <typename T1, typename T2> class MyClass { … }; // partial specialization: both template parameters have same type template <typename T> class MyClass<T,T> { … }; Wiem też, że C ++ nie pozwala na...
Błędny formularz: int &z = 12; Poprawna forma: int y; int &r = y; Pytanie : Dlaczego pierwszy kod jest nieprawidłowy? Jakie jest „ znaczenie ” błędu w tytule?
Odkryłem, że mają jeden klucz i wiele unikalnych wartości.