Boost
:: Boost ::
Välineet tehokkaaseen C++-ohjelmointiin
Johdanto
muokkaaBoost on vertaisarvioitu C++-kirjastokokoelma, jonka tavoitteena on laajentaa kielen standardikirjastoa. C++:n standardointikomitea sisällyttikin kymmenen Boost-kirjastoa uutta standardia ennakoivaan Technical Report 1 -määrittelyyn.
Boostin ohjeet ovat usein kirjoitettu C++-asiantuntijoille. Tämän kirjan tarkoitus on esitellä Boostin tarjoamia ratkaisuja usein esiintyviin ongelmiin.
Sisällys
muokkaaOhjelmoijan pienet apurit
muokkaaPieniä mutta korvaamattomia, toisistaan riippumattomia apuvälineitä.
- Alkioiden läpikäynti
- C++ ei tee säiliön alkioiden läpikäyntiä helpoksi, mutta
BOOST_FOREACH
auttaa.
- Kopioitumattomat luokat
- Jos luokan kopiointioperaatiota ei määrittele itse, olion jäsenmuuttujat kopioidaan sellaisenaan – ja usein olioita ei edes saisi kopioida.
- Älykkäät osoittimet
- Puolet muistinhallintaongelmista ratkeavat älykkäiden osoittimien avulla. Olkaa hyvä:
shared_ptr
,weak_ptr
,intrusive_ptr
jascoped_ptr
.
- Tarkat kokonaislukutyypit
- Boostissa on C99-standardin
uint32_t
kavereineen, mutta myös geneerisiä kokonaislukuja, joihin voi muun muassa valita vapaasti bittien vähimmäismäärän.
Virheenjäljitys
muokkaaVäittämät ja yksikkötestaus.
- Staattiset väittämät
- Moni virhe voidaan havaita jo käännösaikana makron
BOOST_STATIC_ASSERT
avulla.
Työkalut
muokkaa- Boost.Build
- Boost käyttää omaa rakennustyökalua, joka kilpailee Maken, Automaken, SConsin ja CMaken kanssa. Syntaksi on elegantti kuten Makessa ja yleisimpiä järjestelmiä tuetaan suoraan kuten SConsissa, joten Boost.Build on varteenotettava vaihtoehto ainakin keskisuuriin projekteihin.