funktio-osoittimet

Koodaaja80

funktio-osoittimet: niitä on selitetty pintapuolisesti monessakin paikassa, mutta moni selitys unohtaa sen tärkeän lisäyksen:

funktio-osoittimet ja typedef.

Täältä:

http://www.newty.de/fpt/fpt.html#chapter2

tuokin asia löytyy.

Siis:

typedef:iä käyttävä versio on hyödyllinen varsinkin silloin, jos esim. funktion tulee palauttaa funktio-osoitin tai muuten funktio-osoittimia annetaan funktioille parametreina.

Vaikka parametrina käyttö on muutenkin mahdollista, niin typedef:in käyttö tekee funktion prototyypistä selkeämmän, ja siksi helpommin ymmärrettävän ja luettavan.


// Solution using a typedef: Define a pointer to a function which is taking
// two floats and returns a float
typedef float(*pt2Func)(float, float);

// Function takes a char and returns a function pointer which is defined
// with the typedef above. specifies which function to return
pt2Func GetPtr2(const char opCode)
{
if(opCode == ' ')
return &Plus;
else
return &Minus; // default if invalid operator was passed
}

1

643

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Ihanasti alkoi aamu: SDP:n kaula kokoomukseen jo 6,9 %-yks

      Lindtmanin I hallitus on tukevasti jytkyttämässä laittamaan Suomi kuntoon Orvon täystuhohallituksen jäljiltä, jonka kann
      Maailman menoa
      491
      3384
    2. Teidän persujen pitäisi välillä miettiä kuinka Suomen talous saataisiin kuntoon

      Ja lopettaa tuo tyhjänpäiväinen maahanmuuttajista höpöttäminen. Teillä on sentään rahaministerin salkku tällä kierroksel
      Maailman menoa
      160
      2400
    3. Minkä ikäinen

      Minkä ikäinen on kaipauksesi kohde?
      Ikävä
      135
      2212
    4. Kuka omistaa entisen Veljeskodin?

      Kenellä on varaa pitää hiljattain remontoitua rakennusta tyhjillään? Tehdäänkö siitä Suomen kallein kirpputori vai mikä
      Ähtäri
      7
      1695
    5. Persut ei kestä heidän johtajistaan tehtyä huumoria

      Laajalti tiedostettu tosiasia on, että autoritaariset johtajat ja erinäiset diktaattorit eivät kestä heidän kustannuksel
      Maailman menoa
      37
      1695
    6. Kaninkolojen vaikutus?

      Vinkki sinkkumiehille: jos haluatte kunnollisen täysijärkisen naisen, niin kaivautukaa ulos kaninkoloistanne ja parantak
      Sinkut
      213
      1446
    7. Martina ei mennyt naimisiin

      IS 17.9: Martinan häät peruuntui, tajusi, ettei ollut oikea aika. Rahat meni hevosiin. On edelleen parisuhteessa Yhdysva
      Kotimaiset julkkisjuorut
      181
      1444
    8. Vasemmistoliitto peruisi sosiaaliturvan heikennykset

      He palauttaisivat työttömyysturvan ja asumstuen suojaosat, eli saisi jälleen tienata 300 euroa kuukaudessa ilman tukien
      Maailman menoa
      17
      1317
    9. Kuka opettaja, mikä koulu

      Minkä koulun opettaja saanut potkut
      Nivala
      9
      1232
    10. Millaiset hiukset kaivatullasi on?

      Hiusten pituus, väri, suorat vai kiharat?
      Ikävä
      57
      1146
    Aihe