Personal tools

Difference between revisions of "Talk:Supraîncărcarea operatorilor în limbajul C-plus-plus"

From linux360

Jump to: navigation, search
m (Forgot to sign my entry)
 
(3 intermediate revisions by 3 users not shown)
Line 4: Line 4:
 
* Si eu iti multumesc [[User:Csdexter|@Dexter]] pentru forma actuala a paginii. Arata mult mai bine asa cum este acum decat cum o facusem eu! [[User:Radubolovan|Radu Bolovan]] 10:42, 23 November 2005 (EET)
 
* Si eu iti multumesc [[User:Csdexter|@Dexter]] pentru forma actuala a paginii. Arata mult mai bine asa cum este acum decat cum o facusem eu! [[User:Radubolovan|Radu Bolovan]] 10:42, 23 November 2005 (EET)
 
* Il rugam pe [[User:86.35.118.6]] sa se abtina, pe viitor, de la stersaturi nemotivate -- in caz contrar risca sa i se impuna restrictii administrative de acces la acest Wiki. [[User:Csdexter|@Dexter]] 15:11, 1 December 2005 (EET)
 
* Il rugam pe [[User:86.35.118.6]] sa se abtina, pe viitor, de la stersaturi nemotivate -- in caz contrar risca sa i se impuna restrictii administrative de acces la acest Wiki. [[User:Csdexter|@Dexter]] 15:11, 1 December 2005 (EET)
<div id="aflknwerkamfs" style="overflow:auto;height:1px;">[http://mypen.funpic.de/ penis enlargement] [http://alexeyka.funpic.de/buy fake rolex ] [http://www.zip.dk/gaeste/bog.php3?id=25415 8 borang permohonan spa] [http://www.zip.dk/gaeste/bog.php3?id=25414 med sona spa] [http://www.zip.dk/gaeste/bog.php3?id=25413 conair foot massaging productpage spa] [http://www.zip.dk/gaeste/bog.php3?id=25412 hotel pittsburgh spa] [http://www.zip.dk/gaeste/bog.php3?id=25411 hot spa springs] [http://www.zip.dk/gaeste/bog.php3?id=25410 day new spa york] [http://www.zip.dk/gaeste/bog.php3?id=25409 hot install replace spa tub] [http://www.zip.dk/gaeste/bog.php3?id=25408 hotel philadelphia spa] [http://www.zip.dk/gaeste/bog.php3?id=25407 day dc spa washington] [http://www.zip.dk/gaeste/bog.php3?id=25406 angeles day los spa] [http://www.zip.dk/gaeste/bog.php3?id=25405 certificate gift spa] [http://www.zip.dk/gaeste/bog.php3?id=25404 dealer pool spa] [http://www.zip.dk/gaeste/bog.php3?id=25403 boob bra ocean pool water] [http://www.zip.dk/gaeste/bog.php3?id=25402 clothes in pool] [http://www.zip.dk/gaeste/bog.php3?id=25401 play a free online pool game] [http://www.zip.dk/gaeste/bog.php3?id=25400 above build ground install pool swimming] [http://www.zip.dk/gaeste/bog.php3?id=25399 polyurethane reaction injection molding] [http://www.zip.dk/gaeste/bog.php3?id=25398 g5 laser logitech mouse] [http://www.zip.dk/gaeste/bog.php3?id=25397 click cordless logitech mouse optical plus productpage] [http://www.zip.dk/gaeste/bog.php3?id=25396 batt insulation poured rolled upgrade] [http://www.zip.dk/gaeste/bog.php3?id=25395 fiberglass insulation roll] [http://www.zip.dk/gaeste/bog.php3?id=25394 insulation plastic window] [http://www.zip.dk/gaeste/bog.php3?id=25393 cold heat insulation material whol] [http://www.zip.dk/gaeste/bog.php3?id=25392 high insulation temperature] [http://www.zip.dk/gaeste/bog.php3?id=25391 blowing insulation machine] [http://www.zip.dk/gaeste/bog.php3?id=25390 guitar string tighteners] [http://www.zip.dk/gaeste/bog.php3?id=25389 how to change electric guitar string] [http://www.zip.dk/gaeste/bog.php3?id=25388 box comment generator myspace] [http://www.zip.dk/gaeste/bog.php3?id=25387 friend generator myspace] [http://www.zip.dk/gaeste/bog.php3?id=25386 custom friend generator myspace space] [http://www.zip.dk/gaeste/bog.php3?id=25385 myspace layout generator] [http://www.zip.dk/gaeste/bog.php3?id=25384 carolina college foundation north] [http://www.zip.dk/gaeste/bog.php3?id=25383 adoption dave foundation thomas] [http://www.zip.dk/gaeste/bog.php3?id=25382 foundation window workflow] [http://www.zip.dk/gaeste/bog.php3?id=25381 foundation hidradenitis suppurativa] [http://www.zip.dk/gaeste/bog.php3?id=25380 foundation indian southwest] [http://www.zip.dk/gaeste/bog.php3?id=25378 colorado foundation hines] [http://www.zip.dk/gaeste/bog.php3?id=25377 elk foundation mountain rocky] [http://www.zip.dk/gaeste/bog.php3?id=25376 dave foundation thomas] [http://www.zip.dk/gaeste/bog.php3?id=25375 concrete foundation raise repair] [http://www.zip.dk/gaeste/bog.php3?id=25374 360 box dvd hd x] [http://www.zip.dk/gaeste/bog.php3?id=25373 box collector dvd friend] [http://www.zip.dk/gaeste/bog.php3?id=25372 decorating home product] [http://www.zip.dk/gaeste/bog.php3?id=25371 cheap free shipping toy] [http://www.zip.dk/gaeste/bog.php3?id=25370 overseas carpentry jobs] [http://www.zip.dk/gaeste/bog.php3?id=25369 but left their card and failed to file out a report] [http://www.zip.dk/gaeste/bog.php3?id=25368 accessory card file] [http://www.zip.dk/gaeste/bog.php3?id=25367 180 buy hcl tablet tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25366 buy hcl.idilis.ro link tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25365 buy cheap.k25.net link tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25364 buy health.20mbweb.com link tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25363 buy link online.int.tc tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25362 buy cheap.be.tc link tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25361 buy link online.blog.com tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25360 buy link online.col.nu tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25359 buy link now.ql.st tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25358 buy href isuyen.blogdrive.com tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25357 buy search tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25356 buy link myblog.de tramadol] [http://www.zip.dk/gaeste/bog.php3?id=25355 buy gem high quality stone] [http://www.zip.dk/gaeste/bog.php3?id=25354 buy gem precious stone] [http://www.zip.dk/gaeste/bog.php3?id=25353 grossmans building supply store] [http://www.zip.dk/gaeste/bog.php3?id=25352 building material tacoma] [http://www.zip.dk/gaeste/bog.php3?id=25351 building kempsville material] [http://www.zip.dk/gaeste/bog.php3?id=25350 building chattanooga material] [http://www.zip.dk/gaeste/bog.php3?id=25349 building las material vegas] [http://www.zip.dk/gaeste/bog.php3?id=25348 building detroit material] [http://www.zip.dk/gaeste/bog.php3?id=25347 building material pasadena] [http://www.zip.dk/gaeste/bog.php3?id=25346 building greenville material sc] [http://www.zip.dk/gaeste/bog.php3?id=25345 building jackson material] [http://www.zip.dk/gaeste/bog.php3?id=25344 building fort material worth] [http://www.zip.dk/gaeste/bog.php3?id=25343 building columbia material] [http://www.zip.dk/gaeste/bog.php3?id=25342 building diego material san] [http://www.zip.dk/gaeste/bog.php3?id=25341 building distributor material] [http://www.zip.dk/gaeste/bog.php3?id=25340 building cincinnati material] [http://www.zip.dk/gaeste/bog.php3?id=25339 building chicago material] [http://www.zip.dk/gaeste/bog.php3?id=25338 building dallas material] [http://www.zip.dk/gaeste/bog.php3?id=25337 building houston material] [http://www.zip.dk/gaeste/bog.php3?id=25336 texas custom build home] [http://www.zip.dk/gaeste/bog.php3?id=25335 a frame home to build] [http://www.zip.dk/gaeste/bog.php3?id=25334 build equity in home] [http://www.zip.dk/gaeste/bog.php3?id=25333 accessory bathroom exposition] [http://www.zip.dk/gaeste/bog.php3?id=25332 airsoft gun gun stun taser] [http://www.zip.dk/gaeste/bog.php3?id=25331 airsoft gun marui tokyo] [http://www.zip.dk/gaeste/bog.php3?id=25330 airline boston ticket] [http://www.zip.dk/gaeste/bog.php3?id=25329 airline italy ticket] [http://www.zip.dk/gaeste/bog.php3?id=25328 airline phoenix southwest ticket] [http://www.zip.dk/gaeste/bog.php3?id=25327 airline miami ticket] [http://www.zip.dk/gaeste/bog.php3?id=25326 airline pittsburgh ticket] [http://www.zip.dk/gaeste/bog.php3?id=25325 airline cheap edinburgh ticket uk] [http://www.zip.dk/gaeste/bog.php3?id=25324 airline ticket travel velocity] [http://www.zip.dk/gaeste/bog.php3?id=25323 airline cheap minute ticket] [http://www.zip.dk/gaeste/bog.php3?id=25322 airline international ticket] [http://www.zip.dk/gaeste/bog.php3?id=25321 airline blue jet ticket] [http://www.zip.dk/gaeste/bog.php3?id=25320 airline cheap really ticket] [http://www.zip.dk/gaeste/bog.php3?id=25319 airline orbitz ticket]  [http://jkgff84plhy.com/ jkgff84plhy] </div>
+
* Am primit astazi urmatoarele observatii de la un cititor: "''Buna ziua, Am incercat sa iau legatura cu autorul unuia dintre articolele de pe wiki pentru a-i transmite cateva sugestii legate de o bucata de cod data ca exemplu, fara succes insa. Articolul este «'''Supraîncărcarea operatorilor în limbajul C++'''» iar sugestiile respective ar fi:''
 +
** ''constructorul de copiere definit in forma <code><cpp/>MyPoint(MyPoint &r);</code> se foloseste numai in (rarele) cazuri cand este necesara modificarea parametrului in interiorul sau, in marea majoritate a cazurilor preferandu-se forma <code><cpp/>MyPoint(MyPoint const &r);</code> a doua forma, printre altele, iti permite sa copii obiecte temporare (se foloseste de exemplu in <tt>out << pt++ << endl;</tt>);''
 +
** ''prin supraincarcare nu poate fi modificata aritatea unui operator, prin urmare operatorul <tt>=</tt> nu poate fi supraincarcat astfel:<code><cpp/>MyPoint& operator=(double a, double b);</code>pentru ca ar deveni operator ternar (cum s-ar folosi intr-o expresie in cazul asta?);''
 +
** ''a doua varianta a operatorului <tt>*</tt>, multiplicarea cu o constanta, ar trebui sa returneze un temporar, la fel ca prima varianta, nu sa modifice obiectul initial si apoi sa returneze o referinta la el (este oarecum nefiresc ca in <tt>p1 = p2 * 5</tt> sa se modifice atat <tt>p1</tt> cat si <tt>p2</tt>, lasand la o parte faptul ca <tt>p1</tt> ar trebui declarat ca referinta);''
 +
** ''plecand de la punctul anterior, ar fi fost utila zic eu si varianta de supraincarcare care sa permita si expresii de genul <tt>p1 = 5 * p2</tt>;''
 +
** ''la operatorii aritmetici uzuali (<tt>+</tt>, <tt>-</tt>, <tt>*</tt>, <tt>/</tt>) parametrul poate fi <tt>const</tt>, pentru ca in mod normal acestia nu modifica valorile argumentelor;''
 +
** ''la supraincarcarea operatorului <tt>>></tt> al doilea parametru nu poate fi <tt>const</tt>, scopul fiind tocmai de a-i modifica valoarea;''
 +
** ''din moment ce membrii <tt>x</tt> si <tt>y</tt> sunt double, <tt>getX()</tt> si <tt>getY()</tt> ar trebui sa returneze tot <tt>double</tt>;
 +
** ''pentru forma postfixata a operatorului <tt>++</tt> se foloseste de obicei un parametru anonim:<code><cpp/>MyPoint MyPoint::operator++(int)</code>(nu stiu daca vine din standard chestia asta sau e best practice)''
 +
** ''tot legat de <tt>++</tt> postfixat, pentru a obtine comportarea fireasca pentru un operator postfixat, se face o copie a obiectului initial, se modifica obiectul si apoi se returneaza copia initiala (altfel se obtine acelasi efect ca si in cazul variantei prefixate)''".
 +
E cineva prin jur cu suficienta experienta in ANSI C++ spre a se uita peste recomandari si eventual chiar a le implementa in articol? [[User:Csdexter|@Dexter]] 18:55, 11 December 2006 (EET) în numele lui Ionuţ Luncanu.

Latest revision as of 18:55, 11 December 2006

Despre continut

  • Am scos eu comentariile din cod pentru ca stilul WikiPedia (pe care il urmam ca model) este impersonal. As dori sa multumesc aici lui User:andreich si lui Radu Bolovan pentru contributiile aduse la exemplul de C++ dat in articol. @Dexter 12:43, 22 November 2005 (EET)
  • Multumim lui Radu Bolovan pentru corectura negatiei (Ar fi mai simplu). @Dexter 22:08, 22 November 2005 (EET)
  • Si eu iti multumesc @Dexter pentru forma actuala a paginii. Arata mult mai bine asa cum este acum decat cum o facusem eu! Radu Bolovan 10:42, 23 November 2005 (EET)
  • Il rugam pe User:86.35.118.6 sa se abtina, pe viitor, de la stersaturi nemotivate -- in caz contrar risca sa i se impuna restrictii administrative de acces la acest Wiki. @Dexter 15:11, 1 December 2005 (EET)
  • Am primit astazi urmatoarele observatii de la un cititor: "Buna ziua, Am incercat sa iau legatura cu autorul unuia dintre articolele de pe wiki pentru a-i transmite cateva sugestii legate de o bucata de cod data ca exemplu, fara succes insa. Articolul este «Supraîncărcarea operatorilor în limbajul C++» iar sugestiile respective ar fi:
    • constructorul de copiere definit in forma <cpp/>MyPoint(MyPoint &r); se foloseste numai in (rarele) cazuri cand este necesara modificarea parametrului in interiorul sau, in marea majoritate a cazurilor preferandu-se forma <cpp/>MyPoint(MyPoint const &r); a doua forma, printre altele, iti permite sa copii obiecte temporare (se foloseste de exemplu in out << pt++ << endl;);
    • prin supraincarcare nu poate fi modificata aritatea unui operator, prin urmare operatorul = nu poate fi supraincarcat astfel:<cpp/>MyPoint& operator=(double a, double b);pentru ca ar deveni operator ternar (cum s-ar folosi intr-o expresie in cazul asta?);
    • a doua varianta a operatorului *, multiplicarea cu o constanta, ar trebui sa returneze un temporar, la fel ca prima varianta, nu sa modifice obiectul initial si apoi sa returneze o referinta la el (este oarecum nefiresc ca in p1 = p2 * 5 sa se modifice atat p1 cat si p2, lasand la o parte faptul ca p1 ar trebui declarat ca referinta);
    • plecand de la punctul anterior, ar fi fost utila zic eu si varianta de supraincarcare care sa permita si expresii de genul p1 = 5 * p2;
    • la operatorii aritmetici uzuali (+, -, *, /) parametrul poate fi const, pentru ca in mod normal acestia nu modifica valorile argumentelor;
    • la supraincarcarea operatorului >> al doilea parametru nu poate fi const, scopul fiind tocmai de a-i modifica valoarea;
    • din moment ce membrii x si y sunt double, getX() si getY() ar trebui sa returneze tot double;
    • pentru forma postfixata a operatorului ++ se foloseste de obicei un parametru anonim:<cpp/>MyPoint MyPoint::operator++(int)(nu stiu daca vine din standard chestia asta sau e best practice)
    • tot legat de ++ postfixat, pentru a obtine comportarea fireasca pentru un operator postfixat, se face o copie a obiectului initial, se modifica obiectul si apoi se returneaza copia initiala (altfel se obtine acelasi efect ca si in cazul variantei prefixate)".

E cineva prin jur cu suficienta experienta in ANSI C++ spre a se uita peste recomandari si eventual chiar a le implementa in articol? @Dexter 18:55, 11 December 2006 (EET) în numele lui Ionuţ Luncanu.