Haluaisin määritellä ja laittaa funktioita std::vectoriin niin, että ohjelmatekstissä funktio näkyisi aika lähellä sitä paikkaa, jossa se lisätään vectoriin. Main-ohjelmassa ei näköjään voi määritellä funktioita, mutta lambdoja voi, koodi alla.
#include <stdlib.h> /* mm. atof */
#include<iostream>
int main(int argc , char *argv[] )
{
auto a = [](double a, double b, double c) { return a*b*c; };
std::cout << "lambdakokeilu " << a(1, 2, 3) << std::endl;
//auto koef(double a, double b, double c) { return a*b*c; }
//std::cout << "koefunktion kokeilu " << koef(1, 2, 3) << std::endl;
return 1;
}
// g++ koe01.cpp -Wall -pedantic -std=c++11 -o koe01
// cd Documents/my_c++/k-kansio
Tavalliset funktiomäärittelyt olisivat kuitenkin selkeämmän näköisiä, vaikka se ehkä onkin makuasia.
Olisiko jotain helppoa keinoa määritellä funktioita niissä kohdissa, joissa niitä laitetaan esimerkiksi vectoriin niin, että ei tarvitsisi käyttää lambdoja.