 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
twom Član


Pridružen-a: Ned 26 Okt 2003 0:37 Prispevkov: 986 Aktiv.: 4.16 Kraj: Ljubljana
|
Objavljeno: Sre Mar 30, 2011 8:53 am Naslov sporočila: [C++] Dobra koda - struct vs &value... |
|
|
Problem: meritev večih parametrov
Možni sta dve rešitvi
Prva:
Koda: |
struct Meritev
{
int napetost;
int tok;
};
Meritev Moc::vrni_meritev()
{
Meritev meritev;
meritev.napetost = 1;
meritev.tok = 2;
return meritev;
} |
Druga:
Koda: |
void Moc::vrni_meritev(int &napetost, int &tok)
{
napetost = 1;
tok = 2;
} |
Meni se bolj dopade druga možnost (sploh če moram definirati struct samo za to funkcijo)?
Katero rešitev uporabiti (in zakaj)?
Lep pozdrav,
Peter |
|
Nazaj na vrh |
|
 |
. Član

Pridružen-a: Pon 23 Avg 2004 16:16 Prispevkov: 16777190 Aktiv.: 70831.74
|
Objavljeno: Sre Mar 30, 2011 9:44 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Sre Mar 30, 2011 10:41 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
chaos Član


Pridružen-a: Sob 16 Sep 2006 22:12 Prispevkov: 1063 Aktiv.: 4.66 Kraj: Zagorje ob Savi
|
Objavljeno: Sre Mar 30, 2011 11:04 am Naslov sporočila: |
|
|
peter_nn: Obe tvoji resitvi sta cisto v redu, od tebe pa je odvisno, katera ti je bolj vsec.
C++ ti ponuja se dve moznosti:
1. funkcija vraca referenco na ne-lokalno strukturo (spremenljivka na heap-u) - ne priporocam, ker se lahko hitro spozabis in vrnes lokalno spremenljivko, ki bo po koncu funkcije seveda izginila.
2. Vracanje para (pair):
Koda: |
std::pair<int, int> Moc::vrni_meritev()
{
...
return std::make_pair(napetost, tok);
}
std::pair<int, int> meritev = Moc::vrni_meritev();
|
Kot pravim, katerakoli od teh opcij je v redu. Se pa v C++ izogibaj pointerjem, ce se le da.
LP! |
|
Nazaj na vrh |
|
 |
. Neznanec

Pridružen-a: Pet 01 Okt 2004 1:17 Prispevkov: 1 Aktiv.: 0.00
|
Objavljeno: Sre Mar 30, 2011 11:29 am Naslov sporočila: |
|
|
Brisana vsebina odstranjenega uporabnika. |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 492 dni
Powered by phpBB © 2001, 2005 phpBB Group
|