Warum stimmen diese STD :: String und c_str () Zeigeradressen überein?
Posted: 12 Feb 2025, 03:02
Welche Magie spielt STD :: String, wenn wir seine Adresse mit & näher annehmen? Die zurückgegebene Adresse entspricht der Adresse c_str (). Aber wir wissen, dass das c_str () irgendwo in der STD :: String ein Feld ist, nicht die Adresse der STD :: String -Instanz selbst? Wie macht es das? < /P>
e.g. In diesem Code druckt es "gleich": < /p>
e.g. In diesem Code druckt es "gleich": < /p>
Code: Select all
#include
#include
int main(int argc, char const *argv[])
{
std::string s = "Hello, World!";
auto addr = &s;
auto addr2 = s.c_str();
std::cout