bubu ([info]bubu) rakstīja [info]koderi kopienā,
Neprecīzi pateicu - gribēju teikt, ka esi aizliedzis defaulto konstruktoru, jo tas nezin kā var pārkopēt const referenci (tai neko piešķirt ta nevar!). Protams, ja pats implementē visām klasēm to operator = tad viss rullēs.
Ah jā - pareiz tu saki par to Tilpums::operator = atgriežamo vērtību. int ir jāatgriež.
Kā atgriezt divas vērtības? Vienkārši:
typedef std::pair<int, float> MyTwoValues;

MyTwoValues func()
{
    return std::make_pair(1, 15.0f);
}
boost::tuple ļauj atgriez līdz pat 10 vērtības :) Un vienmēr var arī padot funkcijas argumentos ne-const references uz vērtībām, kurās jāatgriež kautkas:
bool getNextThing(Thing& thing);
...
Thing thing;
while (getNextThing(thing))
{
    thing->doSomething();
}
Kāpēc lai divi argumenti būtu pretrunā ar set funkciju?
class Window
{
   void setPosition(int x, int y);
};

Es jau biju domājis tieši šādu gadījumu - kad datus veido vairāki aprakstāmie lielumi, nevis viens vienīgs. Slikts piemērs par to pudeles izmēru bij..


(Lasīt komentārus)

Nopūsties:

No:
Lietotājvārds:
Parole:
Ievadi te 'qws' (liidzeklis pret spambotiem):
Temats:
Tematā HTML ir aizliegts
  
Ziņa:

Gandrīz jau aizmirsu pateikt – šis lietotājs ir ieslēdzis IP adrešu noglabāšanu. Operatore Nr. 65.
Neesi iežurnalējies. Iežurnalēties?