kerdesek
hoyuka hoya
hoyuka at c2.hu
Thu Sep 1 15:45:05 CEST 2005
Hali!
Jok vagytok :) Csunyanak talaljatok a "tombtulcimzest", mikozben orba
szajba pointereztek :) (pointerekkel ganyoltok) "Komolyabb" helyen C++-os
fejleszteseknel ugy tiltjak a pointerezest, mint a nemistudommit, azt
tanacsoljak, hogy ahhol csak tudsz, hasznalj referenciat vagy stack-en
allokalt objektumot vagy autopointert vagy smartpointert. Pl. a JAVA-nal
mar nincsenek is pointerek.
Ez a jobb fordito... Nem tudom, a gcc-nel nem lattam meg jobb forditot...
Ok, ha az adott fordito nem veszi be a 0-as tombott, akkor ok. Ha a 0 tomb
nem ANSI szabvany es nem hordozhato, akkor is ok. De szerintem egy fordito
"josagat" nem az hatarozza meg, hogy beveszi e a 0-as tombot vagy nem. Meg
ez a pointeres megoldas is legalabb akkor ganyolsa, mint a 0 tombos.
Mi garantalja azt, hogy egy pointerrel olyan helyre irsz, ahova
rendeltetett? Semmi, pont ugyanugy mint a tombtulcimzeskor, akkor meg
miert rosszabb a nullastomb vagy a tombtulcimzes, a szabvanytol es
hordozhatosagtol eltekintve?
JAVA-ban nincs pointer es van futasideju tombcimzes ellenorzes. Szerintem
ez lenne a korrekt megoldas ott, ahhol el akarjak kerulni a ganyolasokbol
adodo felreerteseket es van eroforras dogivel.
Semmi bajom azzal amit irtok, kiveve a "jobb fordito" kifejezest. Arrol,
hogy egy tombot forditasi idoben tulcimzunk nyilatkozik az ANSI C
szabvany? Megengedi?
udv.
hoyuka
Valenta Ferenc said:
> Nagy Endre wrote:
>
>> A 0 elemu tombot a szabvany tiltja, barmennyire jo is. Az 1 elemu tomb
>> technikailag jo, de egy jobb forditonak fel fog tunni, hogy olyan
>> valtozokkal indexelik, amik nem konstans nullak. En tovabbra is pointer
>
> Igy van! Nem korrekt, siman warningolhatna vagy hibat jelezhetne
> erre is.
>
>> strukturaba: uint8_t akarmi;
>> hivatkozas x-edik elemre: *(&akarmi+x)
>
> Jaja ugyanezt csinalnam en is. Tehat visszaterve a konkret feladatra,
> a strukturaba nem raktam volna union-t, hanem a hivatkozas helyen
> *(char*)&akarmi.info+x (illetve lehet hogy kell nehany zarojel meg)
> Vagy talan:
> ((char*)&akarmi.info)[x]
> Az eredeti tipust a hivatkozas helyen castelnem at.
> Lehet hogy elirtam es nem mukodne, de valami ilyesmiben gondolkodnek.
>
>> Ne ganyoljunk, ha nem muszaj. Ha egy 10 megas forras le tud fordulni
>> warning nelkul, talan egy 5 soros programban sem lehetetlen ezt elerni.
>
> Igy van, teljesen egyetertek.
>
>> Gumo
>
> --
> Valenta Ferenc <ferenc.valenta at vhl.hu> Volcano/Mentor Graphics
> "My love is REAL, unless declared INTEGER"
>
>
> -----------------------------------
> Szponzorunk: http://tonerbolt.hu/
>
-------------------------------------
C2 MAIL: Levelezés felsõfokon. http://mail.c2.hu
More information about the Elektro
mailing list