/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Hjælp, komme operator
Fra : Kasper


Dato : 16-10-08 19:44

Hej,

Nogle der kan hjælpe med at få mig til at forstå denne line, og hvad der
sker:

if((i=iap_name_equal((*node_p)->class_name, IRPORT_PARAM(&req_p->u.ctl), n))
&& (i=iap_name_equal((*node_p)->attr_name, IRPORT_PARAM(&req_p->u.ctl)+i,
n-i))) {

Jeg ved det er svært når i ikke kan se hele koden, men det er mest den komma
operator jeg er i tvivl om, jeg har læst at den skulle bruge den værdi der
er mest til højre... ???

if sætningen kan jeg finde ud af :)



 
 
Kasper (16-10-2008)
Kommentar
Fra : Kasper


Dato : 16-10-08 19:46


"Kasper" <ask@ask.ask> wrote in message
news:48f78b5f$0$56796$edfadb0f@dtext02.news.tele.dk...
> Hej,
>
> Nogle der kan hjælpe med at få mig til at forstå denne line, og hvad der
> sker:
>
> if((i=iap_name_equal((*node_p)->class_name, IRPORT_PARAM(&req_p->u.ctl),
> n)) && (i=iap_name_equal((*node_p)->attr_name,
> IRPORT_PARAM(&req_p->u.ctl)+i, n-i))) {
>
> Jeg ved det er svært når i ikke kan se hele koden, men det er mest den
> komma operator jeg er i tvivl om, jeg har læst at den skulle bruge den
> værdi der er mest til højre... ???
>
> if sætningen kan jeg finde ud af :)

Hmm det er vidst bare et alm kald...



Michael Zedeler (17-10-2008)
Kommentar
Fra : Michael Zedeler


Dato : 17-10-08 22:48

Kasper wrote:
> Hej,
>
> Nogle der kan hjælpe med at få mig til at forstå denne line, og hvad der
> sker:
>
> if((i=iap_name_equal((*node_p)->class_name, IRPORT_PARAM(&req_p->u.ctl), n))
> && (i=iap_name_equal((*node_p)->attr_name, IRPORT_PARAM(&req_p->u.ctl)+i,
> n-i))) {
>
> Jeg ved det er svært når i ikke kan se hele koden, men det er mest den komma
> operator jeg er i tvivl om, jeg har læst at den skulle bruge den værdi der
> er mest til højre... ???
>
> if sætningen kan jeg finde ud af :)

Endnu et eksempel på hvor meget det betyder at formattere sin kode så
den er til at læse....

Så vidt jeg kan se, gøres der ikke brug af komma-operatoren. Her er
koden omskrevet, så den kan læses:

if(
   (i=iap_name_equal(
      (*node_p)->class_name, IRPORT_PARAM(&req_p->u.ctl), n
   ))
   &&
   (i=iap_name_equal(
      (*node_p)->attr_name, IRPORT_PARAM(&req_p->u.ctl)+i,
      n-i
   ))
)

Mvh. Michael.

Kent Friis (17-10-2008)
Kommentar
Fra : Kent Friis


Dato : 17-10-08 23:07

Den Fri, 17 Oct 2008 23:47:57 +0200 skrev Michael Zedeler:
> Kasper wrote:
>> Hej,
>>
>> Nogle der kan hjælpe med at få mig til at forstå denne line, og hvad der
>> sker:
>>
>> if((i=iap_name_equal((*node_p)->class_name, IRPORT_PARAM(&req_p->u.ctl), n))
>> && (i=iap_name_equal((*node_p)->attr_name, IRPORT_PARAM(&req_p->u.ctl)+i,
>> n-i))) {
>>
>> Jeg ved det er svært når i ikke kan se hele koden, men det er mest den komma
>> operator jeg er i tvivl om, jeg har læst at den skulle bruge den værdi der
>> er mest til højre... ???
>>
>> if sætningen kan jeg finde ud af :)
>
> Endnu et eksempel på hvor meget det betyder at formattere sin kode så
> den er til at læse....
>
> Så vidt jeg kan se, gøres der ikke brug af komma-operatoren. Her er
> koden omskrevet, så den kan læses:

Det er da mindre læseligt end originalen.

> if(
>    (i=iap_name_equal(

Fx ligner flg:

>       (*node_p)->class_name, IRPORT_PARAM(&req_p->u.ctl), n

netop føromtalte komma-operator. I originalen stod kommaerne i
det mindste inde i et funktionskald.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste