call by reference && funktionsdeklaration



  • supertux schrieb:

    darin erkennt man, dass C kein Call-by-Reference im klassischen Stil hat, denn es wird eine Kopie übergeben, auch wenn man explizit keine Variable angelegt hat.

    das erkläre mir bitte mal.
    was ist der 'klassische stil' bei 'call-by-ref'?
    wie kann man eine kopie übergeben, wenn zum zeitpunkt des kopierens kein original vorhanden ist?
    🙂



  • tabindex schrieb:

    Wieso teile ich dem Compiler mit , dass ein Zeiger als Parameter übergeben wird

    Ganz einfach, weil er auch ziemlich promisk agiert, aber Du willst, daß die Applikation korrekt läuft.
    Du hast die Wahl:
    Willst Du function() irgendeine Adresse unterjubeln, das geht.
    Willst Du function() die Adresse von ivar stecken, geht das auch.
    Was davon Sinn macht, örch 😕

    Alles klar? 😃



  • zeiger-fan schrieb:

    nö, main übergibt direkt die adresse an die funktion. als variable existiert sie erst in der funktion selber.
    🙂

    Das ist ja das tolle an temporären Variablen - der Compiler kann sie rausoptimieren, wenn sie stören (aber zur Anschauung ist es mitunter günstiger, sie zu berücksichtigen).
    "call-by-value" bedeutet, daß ein existierender Wertes genommen und in den Funktionsparameter kopiert wird. In dem Beispiel steht der zu kopierende Wert halt nicht in einer Variablen, sondern wird unterwegs durch den Adress-Operator "berechnet".

    PS: Aber was mache ich mir überhaupt die Mühe, mit "vista" zu diskutieren?



  • CStoll schrieb:

    PS: Aber was mache ich mir überhaupt die Mühe, mit "vista" zu diskutieren?

    vista ? nicht pale dog ? 🙂



  • bonus extra nick schrieb:

    CStoll schrieb:

    PS: Aber was mache ich mir überhaupt die Mühe, mit "vista" zu diskutieren?

    vista ? nicht pale dog ? 🙂

    hey, das sind schon Namen, die ich seit langem nicht mehr gesehen hab. Wobei pale dog hin und wieder gute Beiträge hatte.



  • supertux schrieb:

    bonus extra nick schrieb:

    CStoll schrieb:

    PS: Aber was mache ich mir überhaupt die Mühe, mit "vista" zu diskutieren?

    vista ? nicht pale dog ? 🙂

    hey, das sind schon Namen, die ich seit langem nicht mehr gesehen hab. Wobei pale dog hin und wieder gute Beiträge hatte.

    Dir ist klar, daß "net", "vista" und "pale dog" alles der selbe **** war? (er hatte noch ein paar weitere Namen, die mir aber nicht alle einfallen)
    Inzwischen ist er es leid, ständig erkannt zu werden, und läuft nur noch als Gast-User "irgendwas-fan" bzw. "irgendwas-freak" herum.



  • CStoll schrieb:

    Das ist ja das tolle an temporären Variablen - der Compiler kann sie rausoptimieren, wenn sie stören (aber zur Anschauung ist es mitunter günstiger, sie zu berücksichtigen).

    zur anschauung ist es nicht hilfreich, variablen hinzuzudichten wo keine sind. das ist falsch und verwirrt nur.

    CStoll schrieb:

    "call-by-value" bedeutet, daß ein existierender Wertes genommen und in den Funktionsparameter kopiert wird.

    wenn man's wörtlich nimmt, hast du natürlich recht, aber wenn man eine adresse an eine funktion übergibt, dann soll diese in den allermeisten fällen dereferenziert werden und die adresse selbst (der value) ist zweitrangig.
    🙂



  • CStoll schrieb:

    Inzwischen ist er es leid, ständig erkannt zu werden, und läuft nur noch als Gast-User "irgendwas-fan" bzw. "irgendwas-freak" herum.

    nö, der bescheuerte marc++us hat dreimal hintereinander meinen beitragszähler auf astronomische werte gesetzt. das kann er nicht, wenn ich unreg bin.
    🙂



  • anschauungs-freak schrieb:

    CStoll schrieb:

    "call-by-value" bedeutet, daß ein existierender Wertes genommen und in den Funktionsparameter kopiert wird.

    wenn man's wörtlich nimmt, hast du natürlich recht, aber wenn man eine adresse an eine funktion übergibt, dann soll diese in den allermeisten fällen dereferenziert werden und die adresse selbst (der value) ist zweitrangig.
    🙂

    Aus Sicht des Programmierers vielleicht (ja, ich benutze den Begriff "call-by-reference" auch etwas zu oft), aus Sicht des Ansi-Standards ist die Adresse der wichtige Teil der Übergabe (und die Tatsache, daß man diese Adresse dereferenzieren kann, um auf die Variablen des Hauptprogramms zugreifen zu können, ein nützlicher Nebeneffekt).

    pale dog et al. schrieb:

    CStoll schrieb:

    Inzwischen ist er es leid, ständig erkannt zu werden, und läuft nur noch als Gast-User "irgendwas-fan" bzw. "irgendwas-freak" herum.

    nö, der bescheuerte marc++us hat dreimal hintereinander meinen beitragszähler auf astronomische werte gesetzt. das kann er nicht, wenn ich unreg bin.
    🙂

    Da hast du dich wohl bei den falschen Leuten unbeliebt gemacht 😃
    (btw, du hast doch einige Male angekündigt, hier endgültig verschwinden zu wollen - auf den Tag warten einige User immer noch)



  • CStoll schrieb:

    Dir ist klar, daß "net", "vista" und "pale dog" alles der selbe **** war? (er hatte noch ein paar weitere Namen, die mir aber nicht alle einfallen)
    Inzwischen ist er es leid, ständig erkannt zu werden, und läuft nur noch als Gast-User "irgendwas-fan" bzw. "irgendwas-freak" herum.

    ganz klar war es mir nicht, aber mein Verdacht, dass vista und pale dog ein der selbe sein konnte, hatte ich immer, auch dass der xxx-freak bzw. xxx-fan immer derselbe war. Aber das alle der alte net ist, wusste ich nicht.

    nö, der bescheuerte marc++us hat dreimal hintereinander meinen beitragszähler auf astronomische werte gesetzt. das kann er nicht, wenn ich unreg bin.

    und wieso stört dich das?



  • CStoll schrieb:

    Da hast du dich wohl bei den falschen Leuten unbeliebt gemacht

    bei den falschen leuten darf man sich getrost unbeliebt machen, nur bei den richtigen sollte man es besser nicht tun.

    CStoll schrieb:

    btw, du hast doch einige Male angekündigt, hier endgültig verschwinden zu wollen - auf den Tag warten einige User immer noch

    wer wartet darauf und warum?

    supertux schrieb:

    und wieso stört dich das?

    ich wollte 'nen löschbutton für den beitragszähler, war mir zu hoch.
    🙂



  • unreg sein ist fein schrieb:

    CStoll schrieb:

    Da hast du dich wohl bei den falschen Leuten unbeliebt gemacht

    bei den falschen leuten darf man sich getrost unbeliebt machen, nur bei den richtigen sollte man es besser nicht tun.

    Kommt ganz darauf an, was man unter "falsch" und "richtig" versteht.

    CStoll schrieb:

    btw, du hast doch einige Male angekündigt, hier endgültig verschwinden zu wollen - auf den Tag warten einige User immer noch

    wer wartet darauf und warum?

    Vermutlich die halbe Moderatoren-Riege 😃 Über das "warum" darfst du dir selber Gedanken machen (ich hoffe mal, der Begriff "Troll" sagt dir etwas).

    supertux schrieb:

    und wieso stört dich das?

    ich wollte 'nen löschbutton für den beitragszähler, war mir zu hoch.
    🙂

    Genau - und deine Begründungen, warum du den brauchst, führten afair zu Marc++us' Aktion (denk mal drüber nach).



  • unreg sein ist fein schrieb:

    supertux schrieb:

    und wieso stört dich das?

    ich wollte 'nen löschbutton für den beitragszähler, war mir zu hoch.
    🙂

    das verstehe ich nicht. Wieso war er dir zu hoch? Was gefällt dir denn nicht daran? Ich meine, ich finde es immer schön, wie mein Beitragszähler sich langsam und unaufhaltsam um 1 inkrementiert.



  • supertux schrieb:

    das verstehe ich nicht. Wieso war er dir zu hoch? Was gefällt dir denn nicht daran? Ich meine, ich finde es immer schön, wie mein Beitragszähler sich langsam und unaufhaltsam um 1 inkrementiert.

    Er war der Meinung, daß durch die hohen Beitragszahlen ein gewisses Fachwissen vermutet wird, das er (laut eigener Aussage) nicht besitzt. (so nach dem Motto "der hat schon 2000 Beiträge geschrieben, also muß er sich auch auskennen")



  • ok, aber er hat durchaus Recht, wobei eine höhe Postingszahl auch durch viel Rumgetrolle entstehen kann 🙂



  • supertux schrieb:

    ok, aber er hat durchaus Recht, wobei eine höhe Postingszahl auch durch viel Rumgetrolle entstehen kann 🙂

    das hielt sich bei mir die waage, etwa die hälfte war trollerei.
    🙂



  • ex-vista schrieb:

    supertux schrieb:

    ok, aber er hat durchaus Recht, wobei eine höhe Postingszahl auch durch viel Rumgetrolle entstehen kann 🙂

    das hielt sich bei mir die waage, etwa die hälfte war trollerei.
    🙂

    Und die andere Hälfte rumhacken auf der Sprache C++ 😃



  • net, vista, pale dog, "xxx-freak", ...
    wie auch immer, weiter so 👍

    🙂



  • CStoll schrieb:

    Und die andere Hälfte rumhacken auf der Sprache C++

    ja, das kommt auch mal vor. wie sagte doch unser freund linus t: 'C++ is a horrible language'. ich bin zwar nicht oft seiner meinung, aber diese teile ich mit ihm uneingeschränkt.
    🙂



  • Hier ist kein OT-Forum.


Anmelden zum Antworten