// // // // // Lab. Calcolo II - Esempio di codice // // // // // // // // Example code: Pointers and de-reference. // (francesco.prelz@mi.infn.it 20060810) #include <iostream> #include <string> #include "measurement.h" // Our beloved measurement template. template <typename MVAL> void measurement_handler_ptr(measurement<MVAL> *arg) { //arg could be undefined! if (!arg) { std::cerr << "Warning: measurement_handler_ptr called with null arg." << std::endl; return; } std::cout << "Hello " << arg->get_observer() << " your value is " << arg->value() << std::endl; arg->value() = 4.567; } int main(int argc, char *argv[]) { measurement<double> meas (3.141516, "31 Dec 1999", "Mino Cancelli"); measurement<double> *junk=0; measurement_handler_ptr(junk); measurement_handler_ptr(&meas); measurement_handler_ptr(&meas); return 0; }