eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Deklaracja funkcji a w niej &
Ilość wypowiedzi w tym wątku: 12

  • 1. Data: 2011-07-25 05:32:14
    Temat: Deklaracja funkcji a w niej &
    Od: slawek7 <s...@w...pl>

    Cześć.
    Nie obrazajcie sie na mnie za te pytania, ale sam nie dojde do tego.

    Spotkałem taka "dziwna" deklaracje i definicje funkcji:
    typedef struct
    {
    unsigned char type;
    unsigned char value;
    } Event;


    void GetEvent( Event & event )
    {
    event.type = TIME_EVENT;
    event.value = ticks;
    }


    A wywołanie takiej funkcji:

    GetEvent( event );


    Dlaczego tak przy deklaracji pojawia sie ampersand &?


  • 2. Data: 2011-07-25 06:17:57
    Temat: Re: Deklaracja funkcji a w niej &
    Od: Piotrek <p...@p...na.berdyczow.info>

    On 2011-07-25 07:32, slawek7 wrote:
    > Cześć.
    > Nie obrazajcie sie na mnie za te pytania, ale sam nie dojde do tego.
    >
    > Spotkałem taka "dziwna" deklaracje i definicje funkcji:
    > typedef struct
    > {
    > unsigned char type;
    > unsigned char value;
    > } Event;
    >
    >
    > void GetEvent( Event& event )
    > {
    > event.type = TIME_EVENT;
    > event.value = ticks;
    > }
    >
    >
    > A wywołanie takiej funkcji:
    >
    > GetEvent( event );
    >
    >
    > Dlaczego tak przy deklaracji pojawia sie ampersand&?

    Doczytaj sobie o metodach przekazywania parametrów (przez referencję).

    Piotrek


  • 3. Data: 2011-07-25 06:51:52
    Temat: Re: Deklaracja funkcji a w niej &
    Od: slawek7 <s...@w...pl>

    Ale gdzie.
    Przegladam wlasnie kilka ksiazek o C i C++ i zadnej nie znalazlem
    tego.
    Jesli wiesz w jakiej o tym pisze to daj znac.


  • 4. Data: 2011-07-25 06:54:42
    Temat: Re: Deklaracja funkcji a w niej &
    Od: slawek7 <s...@w...pl>

    A to jest referencja czy przekazanie struktury do funkcji?


  • 5. Data: 2011-07-25 07:20:24
    Temat: Re: Deklaracja funkcji a w niej &
    Od: Portal <m...@p...wytnij.to.onet.pl>

    On 07/25/2011 08:51 AM, slawek7 wrote:
    > Ale gdzie.
    > Przegladam wlasnie kilka ksiazek o C

    Pudło - to jest C++ (ewentualnie C99, ale w każdym razie nie "koszerne" C)

    > i C++ i zadnej nie znalazlem tego.
    > Jesli wiesz w jakiej o tym pisze to daj znac.

    Kiepsko szukałeś. Pierwszy lepszy link prosto z googla
    http://www.learncpp.com/cpp-tutorial/73-passing-argu
    ments-by-reference/

    Pozdr
    Portal


  • 6. Data: 2011-07-25 08:04:57
    Temat: Re: Deklaracja funkcji a w niej &
    Od: "J.F" <j...@p...onet.pl>

    Użytkownik "Portal" napisał w wiadomości
    >> i C++ i zadnej nie znalazlem tego.
    >> Jesli wiesz w jakiej o tym pisze to daj znac.

    >Kiepsko szukałeś. Pierwszy lepszy link prosto z googla
    >http://www.learncpp.com/cpp-tutorial/73-passing-arg
    uments-by-reference/

    A swoja droga - nie uwazacie ze to jakis krok w tyl ?
    Mozna bylo to samo osiagnac jawnie wskaznikami, a teraz trzeba sie
    wczytac w funkcje wywolywana, bo nie wiadomo - zmieni nam cos czy nie
    ma prawa ?

    J.


  • 7. Data: 2011-07-25 08:33:25
    Temat: Re: Deklaracja funkcji a w niej &
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    J.F <j...@p...onet.pl> napisał(a):
    > A swoja droga - nie uwazacie ze to jakis krok w tyl ?
    > Mozna bylo to samo osiagnac jawnie wskaznikami, a teraz trzeba sie wczytac
    > w funkcje wywolywana, bo nie wiadomo - zmieni nam cos czy nie ma prawa ?
    > J.

    A przy wskaźnikach nie musiałeś się wczytywać? Różnica jest tylko w momencie
    patrzenia na wywołanie, gdy nie znasz deklaracji wywoływanej funkcji. A jak
    znasz i widzisz, że idzie przez referencję to wiesz, że obiekt może być
    modyfikowany, tak samo jakby szło przez wskaźnik.

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 12 days, 7 hours, 9 minutes and 13 seconds


  • 8. Data: 2011-07-25 09:05:47
    Temat: Re: Deklaracja funkcji a w niej &
    Od: Portal <m...@p...wytnij.to.onet.pl>

    On 07/25/2011 10:04 AM, J.F wrote:
    > A swoja droga - nie uwazacie ze to jakis krok w tyl ?
    > Mozna bylo to samo osiagnac jawnie wskaznikami, a teraz trzeba sie
    > wczytac w funkcje wywolywana, bo nie wiadomo - zmieni nam cos czy nie ma
    > prawa ?

    Kwestia gustu. Dla ludzi siedzących bardziej w sprzęcie wskaźniki są
    prostsze do ogarnięcia, bo odnoszą się bezpośrednio do adresów
    poszczególnych struktur danych w pamięci (przynajmniej tak długo jak się
    nie używa prawdziwego OSa wprowadzającego wirtualizację). Dla
    "wysokopoziomowego" software'owca referencje są czystszym mechanizmem,
    bo odpada cała magia z dereferencją, rzutowaniem i innymi często mało
    bezpiecznymi konstrukcjami - rzuć takiemu gościowi pomysłem wskaźników
    do wskaźników albo wskaźników do funkcji i zobaczysz jak się skrzywi ;-).
    Jedyny problem z C++ jest taki, że wszystkie możliwe mechanizmy
    przekazywania obiektów lub struktur danych (tzn. przez wartość,
    wskaźniki lub referencje) są tam dostępne z grubsza na równym poziomie,
    więc jak się nie rozumie ich specyfiki, to można nieźle się zaplątać.
    Ale to jest ogólnie cecha języków w których wolno dużo ze strzeleniem
    sobie w stopę włącznie.
    A propos, jakby ktoś nie znał:
    http://www.thealmightyguru.com/Humor/Docs/ShootYours
    elfInTheFoot.html

    Pozdr
    Portal


  • 9. Data: 2011-07-25 10:00:13
    Temat: Re: Deklaracja funkcji a w niej &
    Od: slawek7 <s...@w...pl>

    A czy ma tu jakies znaczenie to, ze przekazywana jest struktura
    zamiast zmiennej?


  • 10. Data: 2011-07-25 12:19:50
    Temat: Re: Deklaracja funkcji a w niej &
    Od: "J.F" <j...@p...onet.pl>

    Użytkownik "Grzegorz Niemirowski" napisał w wiadomości
    J.F <j...@p...onet.pl> napisał(a):
    >> A swoja droga - nie uwazacie ze to jakis krok w tyl ?
    >> Mozna bylo to samo osiagnac jawnie wskaznikami, a teraz trzeba sie
    >> wczytac w funkcje wywolywana, bo nie wiadomo - zmieni nam cos czy
    >> nie ma prawa ?

    >A przy wskaźnikach nie musiałeś się wczytywać?

    Nie musialem. Jak jawnie nie przekazywalem adresu tylko "przez
    wartosc" to mialem pewnosc ze sie nie zmieni :-)
    A jak przekazywalem adres ... no to wiedzialem ze musze sie liczyc ze
    zmiana :-)

    J.

strony : [ 1 ] . 2


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: