p3 Flashcards

1
Q

Sta uradimo definicijom varijable

A

Imenujemo komad memorije

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Sta je ime varijable i za sta ga koristimo

A

Ime var je simbol koji mi uvodimo da ga mozemo koristiti u izrazu odnosno za komunikaciju sa komadom memorije

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Ako se definise a ne inicijalizira varijabla sta se desi

A

Samo dobijemo komad memorije u kom se nalazi proizvoljna sekvenca bita

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Koji izrazi se koriste za inicijalizaciju

A

Koriste se (), {}, =
int b{4};
int b(5);
int a = 5;
Gdje = pri inicijalizaciji predstavlja SIMBOL ZA INICIJALIZACIJU, a ne operator

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Simbol = pri inicijalizaciji

A

Lijevo je simbol (ime varijable koje mu se dodjeli definicijom), a desno vrijednost

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

razlika izmedju
int a=4;
i
int a;
a=4;

A

u prvom slucaju se desava inicijalizacija pri deklaraciji koristeci se SIMBOLOM = koji je simbol za inicijaizaciju, te se sve nalazi u jednom stejtmentu

a u drugom slucaju se nalaze dva stejtmenta gdje u prvom se definise var, a u drugom joj se koristeci OPERATOR = dodjeljuje vrijednost

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

koja je razlika izmedju = () i {} pri inicijalizaciji

A

{} ne dozvoljava demociju odn ne dopusta gubitak podataka, dok sa = i () to je dozvoljeno iako se gube informacije

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Sta je const u c++

A

Kljucna rijec koja NE oznacava novu tip vec je TYPE QUALIFIER.
Ta kljuxna rijec kompajleru govori da ta varijabla moze figurirati samo u izrazima gdje joj se ne mijenja vrijednkst

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Kako definisemo neku varijablu kao konstantu i sta to znaci

A

Var definisemo kao konstantu pri definiciji gdje prije tipa varijable upise kljucna rijec const i kao takva se OBAVEZNO mora inicijalizirati

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

const int a =5;
Ili
int const a = 5;

A

Oboje

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

koji je tip varijable pri upotrebi kljucne rijeci const

A

tip ove var se ne mijenja, odn ostaje isti, ali ovakva varijabla ima ogranicen domen upotrebe i u nju se ne moze pisati, vec je moguce samo citati informacije iz iste. takodje nije dozvoljeno koristenje nekonstantnih operacija

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

const int a = 7;

a=5;

greska?

A

varijabla definisana kao konstanta se ne moze koristiti sa lijeve strane operatora dodjeljivanja

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

obavezno kod konstanti?

A

inicijalizacija

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

sta je default initialisation

A

inicijalizacija koja se desava ukoliko definisemo varijablu a ne inicijaliyiamo njenu vrijednost
ta var ima enku vr ali mi ne znamo koju

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

sta je primitivna varijabla

A

varijabla nekog od primitivnih tipova u c++
kao za takve mogu se koristiti sve 3 vrste inicijalizacije sto nije moguce kod svih tipova

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Sta znaci kljucna rijec auto

A

U kontekstu definicije to znaci type inference (zakljuciti tip)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Koji je tip varijable pri upotrebi kljucne rijeci const

A

Tip varijable pri koristenju const se NE MIJENJA vec samo naznacava kompajleru da ta var ima samo jedan domen upotrebe:
U tu var se ne moze pisati nego samo citati iz nje i nije dozvoljeno koristiti nekonstantne operacije

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Ukoliko pri definiciji varijable vidimo kljucnu rijec auto sta to znaci

A

KOMPAJLER pri definiciji var moze da zakljuxi njen tip i to na osnov tipa vr kojom je inicijalizirana var pri definiciji

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Gdje se koristi kljucna rijec auto sintaksicku

A

Umjesto tipa varijable pri definiciji sa inicijalizacijom, ide na mjesto tipa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Da li upotrebom auto mozemo mijenjati tip varijable dalje u kodu

A

Ne, nakon sto kompajler zakljuci tip te var ona ce dalje u kodu imati taj tip koji je zakljucen iskljucivo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Ukratko o auto

A

Da bi kompajler sam zakljucio tip
Na mjestu tipa var pri definiciji sa inicijalizacijom

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Kada se auto ne moze koristiti

A

Kada nema inicijalizacije jer kompajler bema na osnovu cega da zakljuci top te var

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

const auto tar = false;

A

Const i auto se mogu kombinirati pri definiciji var

Ovo je npr konstantna varijabla tar koja ce uvijek imati vrijednost false, a sam tip var ce odrediti kompajler

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Sta je blok

A

Sekvenca C++ IZJAVA koja je grupisana u blok koda i ogranicena viticastim zagradama {}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Sta definise blok koda

A

Opseg/scope

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Zasto je bitna pozicija definicije varijeble u odnosu na blok

A

Jer se time utice na njenu vidljivost (dostupnost) i njen zivotni vijek

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Koliko stejtmenta moze imati blok

A

Proizvoljno dugu sekvencu stejtmenta ogranicenu {}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Sta je vidljivost var i odakle potice

A

Vidljivost odn dostupnost te var oznacava KADA se moze koristiti ta var da se u nju pise i iz nje cita
Vidljivost potice i zavisi od definicije var u odnosu na blok

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Sta je zivotni vijek var i odakle potice

A

Zivotni vijek predstavlja koliko je dugo neka varijabla na raspolaganju. Odn kada se memorija zauzme za tu var (kada var nastane) i kada se ta memorija otpusti (kada var nestane)

Zavisi od definicije var u odnosu na blok koda

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Gdje je definirana lokalna var odnosno sta je lokalna var

A

To je var definirana UNUTAR nekog bloka

31
Q

Kakav je zivitni vijek lokalne var

A

Ona nastaje pri izvrsavanju stejtmenta(CPU) u kojoj je ona definirana a nestaje po izvrsenjy tog bloka odnosno nakon sto cpu izvrsi zadnji stejtment u tom bloku

32
Q

Ukoliko je var definisana u bloky gdje je ona vidljiva

A

Vidljiva je u svim stejtmentima od njene definicije do kraja tog bloka programa eventualni y ugnjezdenim blokovima tog bloka

33
Q

Globalna var

A

Definisana van svih blokova

34
Q

Zivitni vijek glob var

A

Nastaje prije izvrsenja prve izjave programa (tada joj se alocira memorija) i nestaje neposrredno po zavrsetku izvrsenja zadnje izjave u programu

35
Q

Gdje je vidljiva glob var

A

U cijelom programu, bilo gdje u kodu

36
Q

Ako se glob var ne inicijalizira

A

Memorija koja joj je alocirana je popunjena nulama za razliku id default inicijalizacije kod lokalnih varr

37
Q

Ako nije moguca definicija globalne varijable sta se radi

A

Deklarise se ista a definicjja se moze poslije uraditi

38
Q

Kljucna rijec static uz lokalnu varijablu

A

Modificira zivotni vijek ali ne i vidljivost

39
Q

Sta mijenja static uz lok var

A

Var nece nestati izvrsavanjem naredbi bloka u kom je definisana, vec ostaje u memoriji i pri napustanju tog bloka, zadrzava trenutnu vrijednost pa pri sljedecoj iteraciji SE PRESKACE izjava u kojoj je var definisana

40
Q

Lok static i memorija?

A

Prostor u memoriji alociran static varijabli ostaje savuvan i nakon napustanja bloka

41
Q

Lokalna static var

A

Postoji sve vrijeme ali nije vidljiva u svim blokovima

42
Q

Global static var

A

Vidljiva u blokovima zapisanim u ISTOM FAJLU u kojem je izjava sa definicijom te glob var

43
Q

Da li je dozvoljena redefinicija

A

Unutar jednog bloka globalnog ili lokalnog redefinicija NIJE DOZVOLJENA (nije dozvoljeno definiranje varijable sa istim imenim koje ima varijabla vec prethodno definirana u tom bloku

44
Q

Vazi li pravilo redefincije za ugnjezdene blokove

A

Ne

45
Q

Kada je redefinicija dozvoljena

A

U razlicitim opsezima odn blokovima

46
Q

Redefinicija u razlicitkm opsezima

A

Glob i lok var mogu imati isto ime jer se memorija alocira na razlicitim mjestima

47
Q

Ako je var redefinirana kada pozovemo tu var u bloku hoce li se koristiti lokalna ili goobalna var

A

Koristi se LOKALNA na globalna bez obzira na vidljivost. Kompajler pregleda kod unazad i trazi najblizu definicijy varijable pod tim imenom
SHADOWING

48
Q

Sta je neophodno za kompajliranje

A

Da bi se c++ program kompajlrao u masinac mora biti definirana PRVA INSTRUKCIJA u programu (entry point)
Odnosno da bi se uppste pocelo kompajlirati neophodno je definirati funkciju main

49
Q

Zasto je fja main bitna

A

To nije kljucna rijec vec nju ocekuje sistem za kompajliranje odnosno LINKER

50
Q

Sta je entry point

A

Prva izjava unutar bloka koji se zove main

51
Q

Minimalan balidan blok?

A

int main(){}

52
Q

Sta main radi

A

Uspostavlja redoslijed izvrsavanja programa

53
Q

Free standing blok u c++

A

Nije moguc

54
Q

Sta je linker

A

Zadnja komponenta u kompajliranju

On trazi fju main ds napravi program koji se moze ucitati u memorinu i odakle se moze izvrsavati (povevsi od maina)

55
Q

Sta ako nema main

A

Ukoliko nije definisan main ne moze se proizvesti izvrsna datoteka kojom se pokrece izvrsavanje programa

56
Q

Za sta sluzi namespace

A

za logicku operaciju koda

57
Q

Sve var u c++ pripadaju nekom namespaceu

A

Da

58
Q

Kako se kreira novi namespace

A

namespace ime
{
// definicije simbola u ns(var, fje, klase…
}

59
Q

Pripadaju li blokovi ns

A

Da i sve ostalo sto je validan stejtment

60
Q

Da li se sta mijenja vezano za var ako se ona definise u ns

A

Ne, definicija var unutar ns ne ytice na njen zivotni vijek
Tako ni na globalni karakter gkobalnih varijabli ako su definirane u ns

61
Q

Ako ne navedemo kojem ns pripadaju simboli gdje su oni?

A

Tada kompajler implicitno to svrstava u namespace koji je rezervisan za kod koji se ne nalazi ni u kakvom drugom ns. Taj ns je neimenovan a jos se zove i globalni ns

62
Q

Obzirom na definiciju ns
Sta je globalna var

A

Globalna var je var koja se nalazi izvan svih blokova osim namespace bloka u kom je definirana

63
Q

Sta omogucava ns u vidu redefinicije

A

Omogucava da U ISTOM OPSEGU (BLOKU) mozemo imaati simbol pod istim imenom ppd uslovom da se oni nalaze u razlicitim ns

64
Q

Pristup simbolima definiranim u namespaceu unutar tog ns

A

Direktno pristupamo koristeci ime tog simbola u izjavi

65
Q

Pristup simbolu iz ns u izjavama van tog ns

A

POMOCU OPERATORA ::

66
Q

Primjer kako pristupamo simbolu iz drugig ns

A

imens::simbol

67
Q

Sta je ::

A

Lijevo asocijativan binarni operator
Lijevo uzima vrijednost simbola definiranog kao ns
Desno uzima sibol definisan u ns

68
Q

Da li je moguce importovati sve simbole iz jednog ns u drugi

A

Da, koristimo
using namespace imens;

69
Q

Da li je moguce importovati samo npr jedan simbol iz ns u drugi ns

A

Da koristimo
using imens::simbolkojiimportujemo;

70
Q

Sta se desava kada importujemo nesto iz drugog ns

A

Deklarisemo kompajleru da tretira simbol iz namespacea koji smo importovali kao da je definiran u ns u stejtmentu gdje smo ga importovali

71
Q

Mogu li ns biti ugnjezdeni

A

Da

72
Q

Da li je definicija novog ns validan stejtment u nekom drugom bloku

A

Da

73
Q

Kako se pristupa ns ugnjezdenom u drugom ns

A

Posto je :: operator lijevo asicijativan prvo pristupimo ns pa ugnjezdenom ns pa simbolu

ns1::ugnjezdenins::simbol

74
Q

Kako pristupamo simbolu iz neimenovanog ns

A

Pomocu :: bez da navedemo ime ns lijevo

Npr
::simbol;