reklama

Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - borekz

Stran: 1 ... 30 31 [32]
466
Vývoj / Re:Vyplatí se učit C++?
« kdy: 29. 12. 2015, 10:27:37 »
A když se ti nelíbí příkad se SOCI, tak jiný příklad s appendem do textového souboru (řekněme, že chceme schválně soubor pokaždé zavřít při zjišťování, kde program spadne):

C++:
std::ofstream("log.txt", ofstream::app) << " funkce xy, parametr " << param;

Java:
FileWriter wr = new FileWriter("log.txt", true);
try { wr.write("funkce xy, parametr " + param); } finally { wr.close(); }

Pokud nebazírujeme na 100% uvolňování prostředků, jde to podobně stručně jako v C++. Ale o tom to je v C++ to jde stručně a robustně zároveň.

Např. s hypotetickou třídou kombinující StringBuilder a Writer by šlo napsat toto, ale s rizikem neuvolnění prostředku při výjimce:
new FileAppender("log.txt", true).append("funkce xy, parametr " + param).close();

Nevím, jestli nejnovější JDK má takovou třídu ve stylu C++ streamů, ale není problém ji vytvořit a hlavně zde neřeším API, na rozdíl od tebe s tím ODBC. Pointa mého prvního příspěvku je v tom, že pouze v C++ se destruktor volá automaticky na konci bloku nebo po vyhodnocení výrazu a volá se i v případě výjimky. Takže se nemusí ručně psát try .. finally { volej náhradu destruktoru } a protože to dělá kompilátor automaticky, eliminuje se chyba lidského faktoru.

Vychvalovači Garbage Collectoru zapomínají, že operační paměť není jediný typ systémového prostředku.

467
Vývoj / Re:Vyplatí se učit C++?
« kdy: 29. 12. 2015, 10:12:58 »
Hento porovnanie sql je neferove, lebo v c++ by si musel ukazat ako vyzera ODBC.
Nejde o SQL, ale obecně o desktruktory v C++ a RAII. Java má sice finalizer, ale ten je v praxi na nic. A tak se v Javě používají obyčejné metody pro vytváření a rušení prostředků, tak jak se v používaly obyčejné funkce v C před vynálezem C++.
Btw mna fascinuje odbornik na c++ co nevie citat..
Kde v předchozím příspěvku tvrdím, že jsem odborník ? Ani pořádně neovládám virtuální desktruktory při vícenásobné dědičnosti nebo novinky v C++14.

Stran: 1 ... 30 31 [32]

reklama