Incompetenta de vineri dimineata

Posted in Codare cu premeditare, Slagare internationale on October 14th, 2011 by Mihnea

Organul de presa al Partidului Codexpert Roman a publicat azi o noua serie de lecturi obligatorii. Ne-a sarit in ochi articolul despre micsorat dimensiunea executabilelor, care incepe in forta:

This is probably the most common size-related mistake: programmers add an #include <iostream> to their program just because they happen to use cout once or twice. In such cases, it’s better to replace <iostream> with <iosfwd>.

Adica daca ai urmatorul cod:

#include <iostream>

int main()
{
    std::cout << "a" << std::endl;
    return 0;
}

executabilul rezultat devine mult mai mic dupa ce inlocuiesti iostream cu iosfwd. Mai exact, devine de o infinitate de ori mai mic, deoarece nu se mai compileaza. Cea mai buna metoda de a reduce dimensiunea programelor este sa le stergi.

PS: inainte de a face aceasta inlocuire optimizatoare, nu uitati sa aplicati cealalta manevra obligatorie de inlocuire, si anume sa renuntati la enum-uri in favoarea tipurilor clasice vector si structura.

Tags: , , , , , , , , ,

Cum sa nu trimiti un parametru catre o functie

Posted in 112, Premiul n00bel on January 26th, 2011 by Mihnea

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: , , , , , , , ,