Форум программистов, компьютерный форум CyberForum.ru

Вернуть С-строку из обьекта класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как для класса написать перегруженный оператор new? http://www.cyberforum.ru/cpp-beginners/thread924017.html
пробую таким способом, но ошибка class X { public: X(int x) :mX(x) { } void SetX(int x) { mX=x; } int GetX() const { return mX; } void *operator new(size_t size, void *p) { return p; }
C++ Существует ли "массив" переменных ? Существует ли "массив" или какая-либо структура для хранения переменных, чтобы была возможность в процессе выполнения программы удалять или добавлять некоторые переменные ? Ну, например: Есть комната А. И есть 10 предметов. Предметы можно представить как int. В комнату периодически добавляются или убираются из неё какие-то предметы. С каким-то интервалом времени проверяется содержимое... http://www.cyberforum.ru/cpp-beginners/thread924012.html
Перегрузка операторов C++
Помогите с задачей на перегрузку операторов. (ппц мозговынос). 1)Создать class Mouse со свойством int power. #include <iostream> #include <conio.h> using namespace std; class Mouse {
Удаление элементов из вектора C++
Что я делаю не так string f="/.+(STL).$1/"; vector<string> words; words.push_back(f); vector< string >::iterator first = find( words. begin(), words.end(), "+" ); vector< string >::iterator last =find( words. begin(), words.end(), "1" ); words.erase(first,last);
C++ Почему не создается второй объект класса? http://www.cyberforum.ru/cpp-beginners/thread923943.html
#include <string> // Заголовочный файл students.h class students { public: students(std::string user_name, std::string user_last_name) { set_name(user_name); set_last_name(user_last_name); nulled();
C++ Посещение потоком определенной функции Можно ли как то узнать, какие именно потоки прошли через заданную функцию? студия 2012. подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
16.07.2013, 20:11     Вернуть С-строку из обьекта класса
Цитата Сообщение от i8086 Посмотреть сообщение
void c_str(char* str) {
// сформировать строку и записать в str
}
Если класс сам по себе не хранит строку, а генерирует её по запросу, то лучше так.
Если это нечто вроде std::string, который внутри хранит эту строку, то лучше const char * c_str()

Добавлено через 15 минут
Вообще, не стоит забывать, что string::c_str очень специфичная функция, возвращающая временный указатель на С-строку, который крайне вероятно станет невалидным после почти любого действия со строкой.
поэтому, в любом случае, при получении С-строки из string
если расчитываешь где-то ею долго и надёжно пользоваться,
необходимо срочно скопировать эту результат, полученный из c_str() в свой надёжно выделенный в памяти массив char
 
Текущее время: 12:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru