Co zwraca metoda c_str () z klasy string?

Chcę uzyskać dostęp do adresu początkowego tablicy utrzymywanej przez klasę łańcuchową.

string str="hey";
char* pointer=(char*)str.c_str();

Czy wskaźnik wskazuje na adres tablicy (utrzymywany przez klasę string)? lub klasa string stworzy nową tablicę z pamięci dynamicznej i skopiuje do niej istniejący ciąg i zwróci jego adres?

Jeśli nie jest to właściwy sposób, to jak uzyskać dostęp do adresu początkowego tablicy utrzymywanej przez klasę string?

questionAnswers(5)

yourAnswerToTheQuestion