Following up on the discussion from this question, I was wondering how does one using native C++ determine programmatically whether or not the std::string implementation they ar
Using &s1[0] to take the adress is not what you want, [0] returns a writable reference and will create a copy.
&s1[0]
[0]
Use data() instead, it returns a const char*, and your tests may pass.