This question is a follow up to C++ - Convert array of floats to std::string.
How to convert a std::string back to float array that was converted to string using reinterpret_cast.
This question is a follow up to C++ - Convert array of floats to std::string.
How to convert a std::string back to float array that was converted to string using reinterpret_cast.
Get the string's backing data pointer from the c_str() method. Then reinterpret_cast it back to the float pointer.
const float* array_of_floats = reinterpret_cast<const float*>(str.c_str());
int len = str.size() / sizeof(float);
In general, serializing binary data (such as array of floats) into string can work, but is at best weird and more likely ill-advised. You are better off using std::vector<uint8_t> as an array of bytes to hold your floating pointer data instead of an instance of a string.
c_str() returns a const char*. Therefore, you need to cast to a const float*. Answer updated.array_of_floats pointer is only valid as long as the underlying string exists and is unchanged. It might be better to copy the floats into a separate array instead of relying on a pointer to the string data.