Cum sa nu trimiti un parametru catre o functie

Intrebat cum se poate trimite un array 2D unei functii care vrea un array 1D, Silviu Ardelean propune urmatoarea solutie:

Viorel, daca tot vrei sa folosesti bmp1, de ce nu-l folosesti ca membru al unei clase sau membru global (daca nu lucrezi OOP)? Atunci in functia ta de afisare il apelezi direct fara a-l mai pasa la functie.

Tags: , , , , , , , ,

14 Responses to “Cum sa nu trimiti un parametru catre o functie”

  1. Tudor Says:

    Epic…

  2. thefatredguy Says:

    Io astept cu nerabdare un FAQ legat de subiectul asta. Sper sa se propuna cat mai repede spre aprobare.

  3. dat Says:

    Oh man, n-am mai ras asa demult. Thnx.

  4. Coco Says:

    @thefatredguy: prima data trebuie sa scrie un FAQ special pentru tine despre destructori virtuali.

  5. Mihnea Says:

    Coco pisi, de ce nu scrii tu FAQ-ul ala despre necesitatea destructorilor virtuali in clasele goale? Ne-am plictisit sa ridem doar de Silviu, avem nevoie si de altii care cred ca stiu C++.

    Sa se dea cite un destructor sa ajunga la toti, ca de ce sa nu punem un pointer la vtable in orice cacat, inclusiv in cacaturile pe care nu le instantiem niciodata?

  6. Coco Says:

    Discutia cu destructor virtual / nevirtual e cu dus-intors oricum ai intoarce-o. Voie buna! ;)

  7. Mihnea Says:

    O fi cu dus-intors prin cercurile unde te invirti tu. In lumea programatorilor de C++ nu-i nici o discutie, e o banalitate pe care o stie toata lumea.

    Voie buna, da, dar ar fi si mai buna daca ai da curs rugamintii mele si ne-ai tine si tu citeva prelegeri despre lucruri d-astea avansate cum ar fi fisiere, destructori, array-uri, incrementari etc.

  8. Coco Says:

    Prietene, mai banala decat caterinca e doar maneaua.
    Iar la acest capitol esti maestru. :)

  9. Mihnea Says:

    Da prietene, vad ca tii cu Silviu si pe frontul asta. Si el crede ca-i usor sa fii amuzant, ba chiar crede ca reuseste si el cind o baga p-aia cu “O mică demonstraţie am făcut-o cu Dan… şi m-am cenzurat”. Hai sa-ti spun un secret care te va ajuta mai departe in viata: nu-i usor. De fapt e asa de greu, incit toti neamuzantii tin sa mentioneze ca au simtul umorului cind se descriu prin CV-uri, site-uri de dating si alte locuri d-astea unde trebuie sa te faci sa dai bine.

    Oricum, da-i din gura acolo despre caterinca si manea, poate uitam ca iar ai spus o timpenie crezind ca stii despre ce vorbesti, ca si la ultima ta interventie pe site-ul asta, si la cea dinaintea ei, si tot asa.

  10. thefatredguy Says:

    Draga Coco, spre deosebire de tine si de idolul tau, eu nu invat programare din FAQ-uri de 2 lei, ba chiar le evit, pentru ca e plin internetul de prolifici gen Silviu care scot FAQ-uri pe banda rulanta. Iar discutia cu destructorii virtuali nu e nicidecum cu dus intors. A pune un destructor virtual intr-o clasa fara functii virtuale e la fel de gresit ca a nu pune unul intr-una cu functii virtuale. Iar cine face asta e cam totally fucking clueless, mai ales cand se lauda ca are xx ani de experienta pe la diverse hidrocentrale, exploatari miniere sau mai stiu eu ce. Tocmai de aia apreciez ideea de ironie in care blogul asta a luat fiinta, pentru a mai da cate o palma (virtuala desigur) marilor FAQ-uitori si MVP-ei ai aceste natii, care habar nu au sa inverseze o lista inlantuita.

  11. Dominick Decocco Says:

    Dar eu tot n-am inteles de ce as inversa o lista simplu inlantuita. Folosesc C++ si STL si nu mai am nevoie. Poate cei care se incapataneaza sa foloseasca C mai au nevoie sa reinverseze roata.

  12. Mihnea Says:

    Minerul regreta ca iar a ris XZibit de el:

    “Regret doar ca, in graba, nu am citit foarte atent ce vrei sa zici tu cu cele M apeluri… si ti-am dat un sfat badaran a.i. sa nu ai nevoie de atatea apeluri. “

    Observam ironia fina cu “sfat badaran”, ca doar e usor sa faci misto, vorba lu’ Coco. Oricum, tineti minte: pentru a reduce numarul de apeluri la functii, facem parametrii lor variabile globale. Clar?

    Noroc ca mai departe in thread s-au inteles foarte bine toti intre ei si viorel2005 a promis ca scrie un articol. Tot ce-o oprise pina acum era faptul ca nu reusise sa integreze “o librarie intr-un DLL”. Abia astept.

    PS: In caz ca nu stiati, indexarea intr-un array 2D tinut intr-un vector se face asa: bmp1[i*row + column], unde i e rindul, row e tot rindul, si column e coloana. Sau nu, ca vine zlatomir si-i spune ca de fapt e bmp1[i*row + j], unde e i e rindul, row e tot rindul si j e coloana. Sau poate row e numarul de rinduri iar i e rindul curent, da’ stai ca nici asa nu merge. Deci da: row e numarul de coloane, i e rindul curent si column e coloana curenta. Clar?

  13. 0x Says:

    Bai coco,
    Scopul inversarii unei liste simplu inlantuite e sa arati ca poti sa gandesti si sa gasesti o rezolvare pentru o problema (foarte simpla de altfel).
    Din aceeasi filozofie a unui om inapt:
    De ce dracu as invata tabla inmultirii cand am calc. la windows ?

  14. Dominick Decocco Says:

    Bai Ox (verifica putin pe http://www.dictionary.com cum se poate citi zero-ics), stiu exact de ce as inversa o lista! Si stiu si cum! Nu ca asta ar fi asa o mare realizare…
    Dominick Decocco era o mica ironie la adresa userului Coco. Suna ca si cum ai zice de cacao, de cocos. Mi-a placut si in film faza. Si stiu exact exact (foarte foarte exact, crede-ma!) ce ar spune ronua-istii, mvp-ii si minerii referitor la aceasta tema: chiar ce am scris eu acolo! Niste scuze jalnice, ca sa nu fie nevoiti sa spuna “mai… habar nu am!”.

Leave a Reply

Optionally add an image (JPEG only)