How to get std::vector pointer to the raw data?

&something gives you the address of the std::vector object, not the address of the data it holds. &something.begin() gives you the address of the iterator returned by begin() (as the compiler warns, this is not technically allowed because something.begin() is an rvalue expression, so its address cannot be taken). Assuming the container has at least … Read more

How can I get the maximum or minimum value in a vector?

Using C++11/C++0x compile flags, you can auto it = max_element(std::begin(cloud), std::end(cloud)); // C++11 Otherwise, write your own: template <typename T, size_t N> const T* mybegin(const T (&a)[N]) { return a; } template <typename T, size_t N> const T* myend (const T (&a)[N]) { return a+N; } See it live at http://ideone.com/aDkhW: #include <iostream> #include <algorithm> … Read more

Append value to empty vector in R?

Appending to an object in a for loop causes the entire object to be copied on every iteration, which causes a lot of people to say “R is slow”, or “R loops should be avoided”. As BrodieG mentioned in the comments: it is much better to pre-allocate a vector of the desired length, then set … Read more

Choice between vector::resize() and vector::reserve()

The two functions do vastly different things! The resize() method (and passing argument to constructor is equivalent to that) will insert or delete appropriate number of elements to the vector to make it given size (it has optional second argument to specify their value). It will affect the size(), iteration will go over all those … Read more

Why is a C++ Vector called a Vector? [closed]

It’s called a vector because Alex Stepanov, the designer of the Standard Template Library, was looking for a name to distinguish it from built-in arrays. He admits now that he made a mistake, because mathematics already uses the term ‘vector’ for a fixed-length sequence of numbers. C++11 compounds this mistake by introducing a class ‘array’ … Read more