Technical Report 1

Wikipedia
Loikkaa: valikkoon, hakuun

Technical Report 1 (TR1) on luonnos C++-ohjelmointikieleen suunnitelluista lisäyksistä C++:n standardikirjastoon. Se sisältää muun muassa säännöllisten lauseiden käsittelyn, hajautustaulut (hash table), satunnaislukugeneraattorit sekä funktio-objektit.

TR1 ei ole vielä sisällä kaikkia komponentteja, jotka C++0x:n tullaan lisäämään. Siitä puuttuvat esimerkiksi säikeet, jotka kieleen hyvin todennäköisesti lisätään.

GCC:hen on jo lisätty osa tr1:n ehdotuksista ja kaikki lisäykset löytyvätkin nimiavaruudesta std::tr1.

Esimerkki[muokkaa | muokkaa wikitekstiä]

/* g++ tr1.cc && ./a.out (vaatii g++ >= 4:n) */
#include <iostream>
#include <tr1/functional>

class X {
public:
    void y(int a, int b) { std::cout << a + b << std::endl; }
};

int main()
{
    X x;
    std::tr1::function<void (int)> func = std::tr1::bind(&X::y, &x, 2, std::tr1::placeholders::_1);
    func(3);
}

Ohjelma tulostaa numeron 5.

Funktion tr1::bind syntaksi on sama kuin Boost-kirjastossa [1] ja Boost onkin toteuttanut lähes kaikki TR1:n ominaisuudet sellaisina kuin ne on määritetty.

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]