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