|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.12.2011, 14:14 | #1 |
Пользователь
Регистрация: 05.12.2011
Сообщений: 40
|
Объясните функцию c_str
Здравствуйте, объясните пожалуйста доступным языком что делает функция c_str из класса string.
|
21.12.2011, 14:30 | #2 | |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Цитата:
Допустим, некоторая функция в качестве параметра принимает указатель на массив чаров: void Foo(const char* content); То есть, в неё можно передать строку только в виде c-ctyle указателя А у тебя есть строка записанная в стринге: std::string str="привет мир"; И тебе нужно передать эту строку в твою функцию: Foo(str); //нельзя. функция не умеет работать со стрингами но так как функция не умеет работать со стрингами, а только с указателями, то единственный способ сделать это - функция c_str() Foo(str.c_str() ); //можно. Функция c_str() присутствует только для совместимости с с-style кодом. И в собственном c++ style коде, её лучше избегать настолько, насколько это возможно, дабы не плодить "суржик" (смесь двух стилей в одном исходном коде) |
|
21.12.2011, 14:44 | #3 |
Пользователь
Регистрация: 05.12.2011
Сообщений: 40
|
Спасибо, все стало понятно
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
почему здесь выкидуется ошибка на счёт c_str и ToInt на счёт ostream | elf01 | C++ Builder | 5 | 19.12.2011 23:07 |
почему здесь выкидуется ошибка на счёт c_str | elf01 | C++ Builder | 1 | 16.12.2011 15:27 |
Описать функцию нахождения расстояния между 2-мя точками на плоскости, заданными своими координатами, и функцию .... | zzz6 | Помощь студентам | 2 | 06.07.2011 08:24 |
Как передать указатель на функцию в функцию | WIN32APIist | Общие вопросы C/C++ | 1 | 27.01.2011 10:35 |
Объясните!!! | Tyfun | Помощь студентам | 3 | 08.09.2010 22:16 |