Portál AbcLinuxu, 27. října 2025 22:09
Tak do sta řádků a za předpokladu, že i v tom C++ budu používat objekty
Takže
class A{
A(){}
};
je oveľa ťažšie ako
class A:
def __init__(self):
pass
?
Prostě si myslím, že bych se dostal dál (aniž bych věděl co je konstruktor) v Pythonu než v C++.
Vždyť nakonec stačí jenom:
x = nejakaTrida ()Alébrž v C++ bychom dělali:
nejakaTrida *x = new nejakaTrida ();To minimálně svádí k zamyšlení, k čemu je to new
nejakaTrida x;Takže kde ti vydrži dlhšie neznalosť konštruktora?
Tak teda, keď si to nepletieš, stále myslíš, že je to v pythone ľahšie?
Asi se na to programování vybodnu a budu dělat skrpity v Pythonu...to jako ze Python neni programovani?!
, to je přeci skriptování
#include <stdio.h>
int main()
{
puts("Hello world");
}Mě to přijde dostatečně krátké. Podívejte se na tu dokonalou, objektovou Javu.
Když to napíšu v Pythonu, tak to sice můžu spustit všude, ale až po tom, co si tam nainstaluju obrovský interpreter. Tohle hello v C u mě zabírá jen 2996 bytes.
puts(const char*) existuje...
Ano? A jaká tedy bude návratová hodnota do shellu, čili jak poznám, že program skončil korektně nebo zda došlo během běhu k chybě? Proč mi příkaz
./programek && echo "1"nevypíše jedničku, ačkoli by měl, neboť k žádné chybě nedošlo?
Popravdě mi na mysl přichází spousta ošklivých slov, protože už jsem měl zkušenost s programátorama, co kašlou na návratové hodnoty, a je jim naprosto putna, co to vrací. Je utrpením (spolu)pracovat s takovými lidmi.
main neukončují, je tedy zcela zbytečné tam nějakou hodnotu nastavovat. Ani GCC s vypnutými optimalizacemi ji tam nenastaví, je-li v době překladu zřejmé, že se tam procesor nedostane.
Proč? Právě kvůli těm hodinám stráveným hledáním. Nějak se mi to vybavilo... :-/. A tohle přeci nebyl odsudek a ani jsem nemluvil škaredě. Nebo to fakt vyznívá až tak zle? 
No, tvurci HQ9+ si to asi nemysleli
Jasně, že to je v pohodě. Šlo mi o to, že jste tvrdil, že tam nic nechybí.
Myslím si, že tohle dělání věcí napůl ve stylu "ono to nějak funguje" je velmi špatná známka dnešní doby. Ale to by bylo úplně na jinou diskusi
.
Jasně, že to je v pohodě. Šlo mi o to, že jste tvrdil, že tam nic nechybí.
Myslím si, že tohle dělání věcí napůl ve stylu "ono to nějak funguje" je velmi špatná známka dnešní doby. Ale to by bylo úplně na jinou diskusi
.
lubos@ares ~ $ time ./hello Hello world real 0m0.002s user 0m0.000s sys 0m0.000s lubos@ares ~ $ time python -c "print 'Hello world'" Hello world real 0m0.023s user 0m0.016s sys 0m0.004s
char a,b,c; a = 'a'; b = 'b'; c = a ^ b;Zkuste si to v Javě.
Ono se stačí třeba jen podívat na podmínky... podmínkou v if() mohou být jen výrazy s výsledkem boolean a podobných příkladů pruzení by se našlo dost.
Způsob v C++: použijte dynamic_cast. V Javě se vždy použije něco jako dynamic_cast, v C++ je to po vůli programátora.
V jednom programu si musím v opengl vykreslovat pozadí pomoví gldrawpixels, zrovna tam bych chtěl vektor<>, ale bohužel pro předávání do opengl funkce je to špatné (nebo myslím, že to nejde).std::vector má metodu data(), nebude to ta, co potřebujete?
man std::vector - nevím, jestli starší GCC má u sebe tyto man pages, ale GCC 4.1 prerelease je u sebe má.
Pokud mi nevyhovuje man, tak chodím sem, respektive na snapshot této dokumentace, co jsem si stáhnul na disk.
vec.data()nebo:
&vec[0]
zkus treba bash ... tam te to trapit nebude
na ale co se tyka SDL a Open GL kdyz uz bojujes s Pythonem, tak se podivej na knihovny PyGame a PyGL tam bys moch najit co hledas.
Myslim ze mam budoucnost naplanovanou. Diky vsem
Myslím, že okno se snáž vytvoří v SDL, ale nevím, páč jsem to zkoušel jenom v SDL
) a glut openglovejší.
), ale ostatné veci tam netreba.
Inak, veľmi dobrý dôvod pre glut je napríklad aj to, že má funkciu na vyrenderovanie čajníku. Tam sa SDL nechytá
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.