Я прочитал много сообщений, задающих вопрос о том, как преобразовать С++ std::string или const std::string& в char*, чтобы передать его функции C, и кажется, что существует немало предостережений в отношении этого, Нужно остерегаться того, что строка является непрерывной, и многое другое. Дело в том, что я никогда не понимал все моменты, о которых нужно знать, и почему?
Я задавался вопросом, может ли кто-нибудь подвести оговорки и провалы о преобразовании из std::string в char*, который необходим для перехода к функции C?
Это, когда std::string является ссылкой const и когда это просто неконстантная ссылка, и когда функция C изменит char* и когда она не изменит ее.