c++ - Derived vector: Perform operations -
i have derived std::vector<int> (i know shouldn't, wanted test it). can instantiate , assign values:
myvector v(5); v[0]=3; i can return value:
cout << v[0]; but how can access value(s) if want operations within class? like:
int func(int a){ return this->[0] + a; // example }
as stated in comments under question:
return (*this)[0] + a; should work. – didierc 5 hours ago
additionally, since vector lays out memory in linear fashion (like array) can access memory holds values through pointer, so:
int *ptr = &(*this)[0]; // read integer console 3rd element of vector scanf("%d", ptr + 2); this can useful if have vector of chars , need pass char* string function, example.
be warned however, vector<bool> not behave in same way (the boolean values stored internally in bitfields, not array of bools, see http://isocpp.org/blog/2012/11/on-vectorbool).
Comments
Post a Comment