.[ ČeskéHry.cz ].
for( : ) pro více kontejnerů
Jdi na stránku Předchozí  1, 2, 3
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
mar



Založen: 16. 06. 2012
Příspěvky: 602

PříspěvekZaslal: 4. srpen 2013, 09:07:14    Předmět: Odpovědět s citátem

Weny Sky napsal:
100x opakovana lez bude porad lzi. C neni a nikdy nebylo podmnozinou C++ a muzete si tvrdit co chcete.

Naprosto jednoduchy semanticky priklad:
sizeof('x') vysledkem je v C zpravidla 4 (velikost datoveho typu int)
sizeof('x') vysledkem v C++ je ovsem 1 (velikost datoveho typu char)

Kdyz k tomu sedne blbec, ktery si mysli, ze je C podmnozinou C++ a bude podle toho v C psat, tak se pak bude sakra divit. No a clovek, ktery zase C zna, tak nebude tvrdit, ze je to podmnozina C++.

Zkuste si priznat, ze nemate pravdu, protoze ji opravdu nemate. Argumenty, ze nejste chodici znalci standardu, ze 99 % znamena podmnozina, ze si za tim proste stojite, bych cekal spis na Novinky.cz nebo Blesk.cz, ale ne na tady Razz

ROFL. Ano přesně takový google/wikipedia argument jsem čekal Smile
Já jsem toho v C napsal opravdu celkem dost, než jsem přešel na C++, takže ti můžu rovnou říct, že sizeof na character literal použije opravdu jenom blbec...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Weny Sky



Založen: 28. 07. 2007
Příspěvky: 241

PříspěvekZaslal: 4. srpen 2013, 09:46:13    Předmět: Odpovědět s citátem

Argumenty ad hominem .... ale mel jsem to poznat driv, ze diskutuju s ignoranty. Moje chyba. Omlouvam se, ze jsem prispel k zasvineni tohoto threadu. Klidne moje prispevky smazte
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
quas4



Založen: 18. 10. 2007
Příspěvky: 199

PříspěvekZaslal: 4. srpen 2013, 09:55:09    Předmět: Odpovědět s citátem

Weny Sky napsal:
100x opakovana lez bude porad lzi. C neni a nikdy nebylo podmnozinou C++ a muzete si tvrdit co chcete.

Naprosto jednoduchy semanticky priklad:
sizeof('x') vysledkem je v C zpravidla 4 (velikost datoveho typu int)
sizeof('x') vysledkem v C++ je ovsem 1 (velikost datoveho typu char)

Kdyz k tomu sedne blbec, ktery si mysli, ze je C podmnozinou C++ a bude podle toho v C psat, tak se pak bude sakra divit. No a clovek, ktery zase C zna, tak nebude tvrdit, ze je to podmnozina C++.

Zkuste si priznat, ze nemate pravdu, protoze ji opravdu nemate. Argumenty, ze nejste chodici znalci standardu, ze 99 % znamena podmnozina, ze si za tim proste stojite, bych cekal spis na Novinky.cz nebo Blesk.cz, ale ne na tady Razz


Priznavam ze nejsem chodici encyklopedie standardu C ani C++, ale nac tolik invektiv? Co se tyka tveho argumentu (jedineho?) kolem sizeof tak hodnoty ktere vraci nejsou ve standardu presne definovany a zalezi na implementaci kompilatoru. Sam bych sizeof na character literal nepouzil.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 602

PříspěvekZaslal: 4. srpen 2013, 09:58:05    Předmět: Odpovědět s citátem

Ad hominem? Tak to si pozorně přečti svůj přechozí příspěvek Smile A na závěr jsi ještě nazval ty, kteří s tebou nesouhlasí, ignoranty.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Tringi



Založen: 28. 07. 2007
Příspěvky: 289

PříspěvekZaslal: 4. srpen 2013, 10:43:29    Předmět: Odpovědět s citátem

Incompatibilities Between ISO C and ISO C++
_________________
WWW | GitHub | TW
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 4. srpen 2013, 13:07:32    Předmět: Odpovědět s citátem

#Weny Sky
Argumentovat pomocí "sizeof" může fakt jen Javista... tak za prvé sizeof nemá nijak pevně definovány délky proměnných.

Nejdebilnější důkaz jaký mohu vymyslet za 5 sekund (a pokud máš 64-bit systém a kompilátor, sám se můžeš přesvědčit, nebudu popisovat složitější, protože bys asi musel instalovat jiný, např. Losethos operační systém):
kód:

size_t sizeOfPointer = sizeof(char*);


zkompiluj si ho v C nebo C++ (je to jedno) s flagem pro 32-bit systém vs 64-bit systém (pro gcc/g++ je to m32 a m64 flag).

Uvažme g++, dle tvého argumentu zde máme nově 2 různé jazyky - jeden pro 32 bitové systémy a jeden pro 64 bitové systémy. Wow, člověče, nevěř všemu na wikipedii.

Sizeof je platform/os defined (jsou OS kde třeba int má 8 byte, long 16 byte, etc. - máme nové jazyky zas? tyo to už jsme jak Babylóňané v pověsti dle tvého argumentu), a jazyk na něj nemá vliv, tedy your argument is invalid a uveď silnější argument.

Ostatně já bych C++ klidně jako pseudo nad-množinu C počítal, zvláště když je zde k dispozici "extern "C"", kdy se např. symboly exportují C-like. Ostatně také je můžeme počítat za pseudo nad-množinu assembleru "__asm__" je také k dospozici.

Ale proč chci hlavně reagovat:

#Lemik

Nepotřebuješ includovat knihovny přes hlavičky (a to ani v jiných jazycích). Stačí ti dlopen/dlsym/dlclose (resp. pro jiný OS/jazyk jiný ekvivalent), a nepotřebuješ wrappery ani hlavičky. (EDIT NOTE - nepočítám managované striktně OOP srač**, ty wrappery obvykle potřebují)

Hlavičky to usnadní, to jo - nicméně někdy je skutečně dlsym lepším řešením (plugin architektury, knihovny s extensions (třeba závislé na hardware), apod.).
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
Tringi



Založen: 28. 07. 2007
Příspěvky: 289

PříspěvekZaslal: 4. srpen 2013, 13:43:47    Předmět: Odpovědět s citátem

Wenyho argument je stále valid. To ty mícháš dohromady specifikaci jazyka a implementací definované vlastnosti.
Zatímco C definuje typ znakového literálu jako int, C++ jako char. Jiné jazyky, jiné definice.
Velikost pointeru nebo datových typů je v obou jazycích definovaná implementací (implementation defined), v C++ navíc omezená zdola.

Apropo: U odpovědi Lemikovi také mícháš dohromady dvě, až tak úplně, nesouvisející věci, a to statické a dynamické linkování.
_________________
WWW | GitHub | TW
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Lemik



Založen: 30. 07. 2007
Příspěvky: 138

PříspěvekZaslal: 4. srpen 2013, 14:26:10    Předmět: Odpovědět s citátem

mar napsal:
Lemik napsal:
Ikdyž do C++ kompilátoru dáš C kód, vyleze Ti C++ objekt.

Vyleze ti úplně stejný formát, jenom symboly budou pojmenované jinak.


Jenže to Ti standard nezaručuje...


mar napsal:
Cos citoval, se týkalo C99 a to je podle mě už slovíčkaření. I přes to je překryv Cxy a C++zw víc než 99%, což mně stačí.


To že píšeš, že se to týká C99 mi vyznívá, jako by to byla jen jedna z verzí C, a já stejně používám tu starší, tak co... On právě píše, že to co jsi citoval, se týká těch verzí starších. Napadlo někoho, že možná to co považujete za C kód se za ty desítky let už prostě asimilovalo a je C++ kódem?


EDIT:
Když už tu nějaké ty příklady rozdílů C/C++
máme, tak taky jeden přihodím
kód:
#include <stdio.h>

struct f { };

int main() {
    f();
}

int f() {
    return printf("hello");
}
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
perry



Založen: 28. 07. 2009
Příspěvky: 879

PříspěvekZaslal: 4. srpen 2013, 15:15:56    Předmět: Odpovědět s citátem

Tak původní C++ jako nad-množina C imho brát jde. První kompilátory stejně dělaly to, že C++ kód "předělaly" na C a pak C kompilátorem zkompilovaly.
Objekty lze psát i v C (i ASM)... ale ne že bych to dělal, pouze mi někdo říkal, že to zkoušel a větší "voser" nezažil.
_________________
Perry.cz
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
mar



Založen: 16. 06. 2012
Příspěvky: 602

PříspěvekZaslal: 4. srpen 2013, 15:43:00    Předmět: Odpovědět s citátem

Lemik napsal:
To že píšeš, že se to týká C99 mi vyznívá, jako by to byla jen jedna z verzí C, a já stejně používám tu starší, tak co... On právě píše, že to co jsi citoval, se týká těch verzí starších. Napadlo někoho, že možná to co považujete za C kód se za ty desítky let už prostě asimilovalo a je C++ kódem?

No vždyť to je verze C, má x vylepšení, x přidaných věcí do std. knihoven, možná x deprecated věcí.
To je jako kdyby sis lehce vytunil auto a tvrdil sousedovi, že máš úplně nové.
Že se standard vyvíjí snad nikoho nepřekvapuje. Totéž bych mohl tvrdit o C++98 a C++11 (nebo si vyber cokoliv jiného - jakýkoliv standard, který se vyvíjí).
Nemyslím, že by se cokoliv kamkoliv asimilovalo, pokud jsem tvoji myšlenku pochopil. Nebo máš na mysli K&R styl?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1552

PříspěvekZaslal: 4. srpen 2013, 15:58:36    Předmět: Odpovědět s citátem

Horka jsou extrémní evidentně v celé republice.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3
Strana 3 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna