Форум программистов, компьютерный форум 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:51     Вернуть С-строку из обьекта класса
Цитата Сообщение от Tulosba Посмотреть сообщение
Kuzia domovenok, const функции можно использовать и не прибегая к предварительному копированию буфера.
Tulosba, смотря как использовать.
Захотел я просто вывести строку через сишный указатель. Пожалуйста!
C++
1
2
std::string s("Hello");
std::cout<<s.c_str();//всё ОК!
Захотел я Сделать то же самое, но чуть попозже:
C++
1
2
3
4
5
6
7
8
std::string s("Hello");
const char* ptr=s.c_str();//Запомним c_str() и подождём;
...//ещё подождём
s="YOUR STRING IS DOOMED! MU-HA-HA!";//(А тем временем, пока мы ждём!)
//И вспомним про указатель. 
//(КОНСТАНТНЫЙ!)мы ни его ни в нём ничего не меняли ж
std::cout<<ptr;
//АХТУНГ!!!!!
Добавлено через 13 минут
Цитата Сообщение от Tulosba Посмотреть сообщение
const функции можно использовать и не прибегая к предварительному копированию буфера.
Tulosba, кстати, а что ты имел в виду под "конст-функциями"?
То, что это const char* c_str() const;
Или то, что это const char* c_str() const;
Первое запрещает получателю c_str() менять данные в буфере, но этот буфер сам может измениться у отправителя, как в примере выше.
Второе вообще лишь говорит нам, что метод c_str может вызываться не только у строковых переменных, но и у констант (const std::string s и к теме не имеет отношения.
 
Текущее время: 03:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru