www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

[C++] Dobra koda - struct vs &value...

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
twom
Član
Član



Pridružen-a: Ned 26 Okt 2003 0:37
Prispevkov: 986
Aktiv.: 4.16
Kraj: Ljubljana

PrispevekObjavljeno: Sre Mar 30, 2011 8:53 am    Naslov sporočila:  [C++] Dobra koda - struct vs &value... Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Član
Član



Pridružen-a: Pon 23 Avg 2004 16:16
Prispevkov: 16777190
Aktiv.: 70831.74

PrispevekObjavljeno: Sre Mar 30, 2011 9:44 am    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Neznanec
Neznanec



Pridružen-a: Pet 01 Okt 2004 1:17
Prispevkov: 1
Aktiv.: 0.00

PrispevekObjavljeno: Sre Mar 30, 2011 10:41 am    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
chaos
Član
Član



Pridružen-a: Sob 16 Sep 2006 22:12
Prispevkov: 1063
Aktiv.: 4.66
Kraj: Zagorje ob Savi

PrispevekObjavljeno: Sre Mar 30, 2011 11:04 am    Naslov sporočila:   Odgovori s citatom

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
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
.
Neznanec
Neznanec



Pridružen-a: Pet 01 Okt 2004 1:17
Prispevkov: 1
Aktiv.: 0.00

PrispevekObjavljeno: Sre Mar 30, 2011 11:29 am    Naslov sporočila:   Odgovori s citatom

Brisana vsebina odstranjenega uporabnika.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
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