Arvojen testaaminen (assert)
Yksi tehokkaista ohjelmoijan apuvälineistä on assert()-funktio. Sen avulla voidaan tarkastaa ehtoja. Se löytyy cassert-tiedostosta.
Hyvä puoli assert()-funktiossa on että se voidaan poistaa lopullisesta ohjelmasta asettamalla #define NDEBUG -määritys ennen #include <cassert>:ia, jolloin kaikki assert()-funktion kutsut muuttuvat ei-operaatioiksi eli ne eivät tule mukaan käännettyyn ohjelmakoodiin.
assert():in syntaksi:
void assert(int expression);
assert()-funktio testaa parametrinsa arvon ja jos se on tosi, ohjelma jatkaa toimintaansa. Silloin kun parametri on epätosi se tulostaa virheilmoituksen ja tiedoston ja rivin missä assert()-funktiota kutsuttiin ja lopettaa ohjelman.
Esimerkki 1. assert():in käyttö.
#include <iostream>
#include <cassert> // assert():in määrittely löytyy täältä.
using namespace std;
int main()
{
cout << "Anna positiivinen luku: ";
int luku;
cin >> luku;
assert(luku >= 0); // Testataan onko annettu luku positiivinen.
cout << "Antamasi luku (" << luku << ") on positiivinen!" << endl;
}
Testatkaa yllä olevaa koodia!