Przejdź do treści głównej
INF.04Pytanie #492 z 856jezyk-cpp-skladnia-i-pamiec

Jakiej funkcji w C++ można użyć do dynamicznego alokowania pamięci dla tablicy?

Opcje odpowiedzi:
A
delete[]
B
free()
C
malloc()
Prawidłowa
D
sizeof()
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: C

Uzasadnienie i szersze wyjaśnienie:

Pytanie jest nieco mylące, ponieważ w C++ preferuje się operator new[], ale z podanych opcji, malloc jest funkcją z języka C, która również działa w C++ i służy do dynamicznej alokacji pamięci.

  • malloc() (memory allocation) to funkcja z biblioteki standardowej C, która alokuje (rezerwuje) określony blok pamięci na stercie i zwraca wskaźnik do jego początku. Jest to niskopoziomowy sposób alokacji, który nie wywołuje konstruktorów obiektów.

Bardziej idiomatycznym sposobem w C++ jest użycie operatora new[], np. int* tablica = new int;.

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • A. delete[] służy do zwalniania pamięci zaalokowanej przez new[].
  • B. free() służy do zwalniania pamięci zaalokowanej przez malloc().
  • D. sizeof() to operator, który zwraca rozmiar typu lub zmiennej w bajtach, często używany do obliczenia, ile pamięci należy zaalokować.

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Jezyk cpp skladnia i pamiec”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 25 pytań z tego działu.