Per un qualche motivo misterioso, all'ultimo anno di ing han deciso che è vitale che sappia il c++, ergo arrivando da 4 anni di Java è una menata.
C'è una cosa che mi rimane ancora misteriosa ed è il concetto di reference, soprattutto quando è nel return value.
Code:
template <typename _T> class image{
unsigned _w,_h;
vector <_T> _pixels;
public:
image (unsigned w=0,unsigned h=0) :_w(w),_h(h),_pixels(_w*_h){}
_T& operator () (unsigned x,unsigned y) {
return _pixels[(y*(_w-1)+x)-1];
}
Nel mio es il _T è un unsigned char, ergo quando faccio _pixels[blabla] ottengo un valore specifico di un unsigned char, ma cosa diavolo vuol dire che ritorno _T&, non mi è chiaro il &...
__________________________________________________ _________________
Altra cosa non chiara:
Code:
const _T& operator ()(unsigned x,unsigned y) const {
Per quale motivo ci sono due const?