Strona 2

infa

Pytanie 9
Które stwierdzenia dotyczące modyfikatora static w języku C/C++ są poprawne:
W funkcji poprzedzonej modyfikatorem static możemy używać wyłącznie zmiennych zadeklarowanych jako static.
Pole static klasy C++wymaga zadeklarowania zmiennej w analogiczny sposób, jak deklaruje się zmienne globalne wewnątrz modułów
W metodzie poprzedzonej modyfikatorem static możemy używać wyłącznie zmiennych zadeklarowanych jako static.
Pytanie 10
Dzięki konwencji wywołania funkcji w języku C znanej jako __cdecl możliwa jest implementacja funkcji o zmiennej liczbie argumentów, jak printf(). Które stwierdzenia charakteryzujące funkcje typu __cdecl są prawdziwe?
W języku C kompilator może utworzyć kod wywołania funkcji typu __cdecl nie mając informacji o typach jej parametrów
W wygenrowanym kodzie wywołania funkcji argumenty umieszczane są na stosie od konca. Dzięki temu na szczycie stosu jest jej pierwszy argument i analizuja˛c jego zawarto´sc mo˙zna okre´sli´c spodziewana˛ liczbe˛ argumentów wywołania
Pytanie 11
W jaki sposób przekazywany jest parametr będący tablicą do funkcji w języku C, np.: int main(int argc , char ∗ argv [ ]) { / / . . . }
Cała zawartość tablicy kopiowana jest na stos i funkcja działa na kopii tablicy.
Na stosie umieszczany jest adres pierwszego elementu tablic
Pytanie 12
Które stwierdzenia odnoszące się do przydziału pamięci dla zmiennych w językach C i C++ są prawdziwe?
Pamięć dla wszystkich zmiennych przydzielana jest na stosie.
Przydział pamięci dla zmiennych deklarowanych z modyfikatorem static następuje przed rozpoczęciem wykonania programu
Pytanie 13
Które ze stwierdzeń odnoszących się do referencji w języku C++ są poprawne?
Poniższy kod inicjalizacji pola klasy typu referencyjnego jest poprawny class A { int&r; public : A(int&a) : r(a){ } } ;
Ponizszy kod w poprawny sposób przenosi referencje˛ z obiektu a na b: A a; A b; A&r = a; r = b ;
Pytanie 14
Jeżeli podczas wykonania instrukcji w C++: A∗ ptr = new A ( ); wygenerowany został wyjątek, jego przyczyna może być następująca:
Brakuje pamięci wtedy mechanizm C++ rzuca wyjątkiem std::bad_alloc
Klasa A jest klasa˛abstrakcyjna˛i nie można utworzyć obiektu tej klasy.
W konstuktorze wyrzucany jest wyjątek
Podczas inicjalizacji obiektu wystąpił błąd i konstruktor zwrócił wartość 0.

Powiązane tematy