Ich bin von einem Byte-Array zu lesen wie folgt: * i zu kombinieren und i ++ in derselben AnweisungDereferenzieren und Zeiger in einer Anweisung weiterleiten?
int* i = (int*)p;
id = *i;
i++;
korrigiert mich wenn ich falsch liege, aber ++ Vorrang vor * hat, so möglich ist, ? (Z * i ++)
(dies technisch unsichere C#, nicht C++, p ist ein Byte *)
Ja, aber _ bitte_ nicht tun. Ihr Code ist perfekt zu lesen, zu verstehen, zu modifizieren und zu debuggen. * i ++ ist keines der obigen, denn um zu verstehen, ob es (* i) ++ oder * (i ++) bedeutet, müssen Sie sich an die Vorrangregeln erinnern. –
fair genug, und ich würde zustimmen müssen. nur weil es getan werden kann, bedeutet es nicht, dass es sollte :) – toasteroven
Es ist idiomatisch in C/C++ zu schreiben * i ++, aber es ist definitiv nicht so in C#. –