wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

C++ funkcijos: atviri klausimai

Total questions: 10

Worksheet time: 3600secs

Name
Class
Date
1.

Koks yra esminis skirtumas tarp funkcijos deklaracijos (prototipo) ir funkcijos apibrėžimo (definicijos) C++ kalboje? Kodėl deklaracija dažnai yra būtina?

4 lines
2.

Paaiškinkite, kada funkcijos grąžinimo tipas (angl. return type) turėtų būti void ir kada turėtų būti konkretus duomenų tipas (pvz., int, double ar string). Pateikite po pavyzdį.

4 lines
3.

Apibūdinkite dviejų pagrindinių parametrų perdavimo mechanizmų skirtumus: perdavimas pagal reikšmę (pass-by-value) ir perdavimas pagal nuorodą (pass-by-reference). Kokiais atvejais geriau naudoti nuorodą?

4 lines
4.

Kas yra numatytieji argumentai (default arguments) C++ funkcijose ir kokios yra taisyklės juos deklaruojant? Parašykite funkcijos prototipo pavyzdį su numatytuoju argumentu.

4 lines
5.

Tarkime, turite funkciją, kuri priima didelį objektą (pvz., 1MB dydžio vector<int>). Koks būtų efektyviausias būdas perduoti šį objektą, jei funkcija jo neturi keisti? Paaiškinkite, kodėl šis būdas geresnis nei perdavimas pagal reikšmę.

4 lines
6.

Kam C++ funkcijų parametruose naudojamas raktinis žodis const? Kokią apsaugą tai suteikia ir kokio tipo parametrams tai yra ypač aktualu?

4 lines
7.

Paaiškinkite, kodėl mažoms, dažnai kviečiamoms funkcijoms verta naudoti raktinį žodį inline.

inline funkcija yra užuomina C++ kompiliatoriui, kad jis gali pabandyti įterpti visą funkcijos kodą tiesiai į kiekvieną kvietimo vietą (vietoje įprasto šuolio į funkciją). Pavyzdys: Svarstote, ar šią funkciją pažymėti inline: inline int IvertintiKvadrata(int x) { return x * x; } Kokie yra du pagrindiniai privalumai ir trūkumai, susiję su šios funkcijos žymėjimu inline?

4 lines
8.

Kas nutinka su funkcijose deklaruotais lokaliais kintamaisiais (pvz., int x;), kai funkcija baigia darbą ir grąžina reikšmę? Paaiškinkite jų gyvavimo ciklo (angl. scope) principą.

4 lines
9.

Kokia yra pagrindinė raktinio žodžio return funkcija (be reikšmės grąžinimo)? Ar funkcija gali turėti kelias return komandas? Atsakymą pagrįskite.

4 lines
10.

Nors nenaudojame nuorodos, kaip galėtume pakeisti du int tipo kintamuosius, perduodamus funkcijai, naudodami rodykles (pointers) kaip parametrus? Parašykite funkcijos prototipą ir paaiškinkite rodyklių panaudojimą.

4 lines