I moved my code to use std::vector<char>
instead of char *mem = malloc(...)
but now I am facing a problem that I can only access the vector data through operator []
but not via a pointer.
I can't write stuff like:
std::vector<char> data;
fill_data(data);
char *ptr = data;
Before I could do this:
char *data = malloc(100);
fill_data2(data);
char *ptr = data;
Any ideas if it's still possible to access data in a vector
via pointer?
Thanks, Boda Cydo.
The standard way to access the vector data is to use
&data[0]
Of course. The vector was designed for this purpose:
char * p = &(myVector[0]) ;
And now, p points to the first item in the vector, and you can access each item by playing with the pointer, as you would in C.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With