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

const_cast(*this) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевести с паскаля http://www.cyberforum.ru/cpp-beginners/thread1039134.html
Добрый день, помогите пожалуйста перевести с паскаля на С++. Условие: Минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы (оформит ьв виде процедуры) uses...
C++ Дана матрица, состоящая из М строк и N столбцов Дана матрица А, состоящая из М строк и N столбцов. Элементами матрицы являются натуральные числа. Вывести на экран количество элементов матрицы А, которые представлены возрастающей... http://www.cyberforum.ru/cpp-beginners/thread1039121.html
потоки, мьютекс и семафор C++
Вот задание: Выполнить индивидуальное задание параллельным алгоритмом (обязательно использовать для разграничения общих ресурсов мьютексы или семафоры, события, критически секции, таймеры);...
Ошибка в работе программы C++
При выполнении программы: int main() { setlocale (LC_ALL,".1251"); FILE *fin = fopen("input.txt", "r"); FILE *fout = fopen("output.txt", "w"); const int max=150; char * str=new...
C++ сортировка одномерного массива http://www.cyberforum.ru/cpp-beginners/thread1039106.html
Удалить из массива первую двойку смежных чисел, произведение которых равно К-му числу, К задается. Например: массив: 4 2 5 2 4 8 4, число к=5( получаем элемент x ) вывод: 5 2 4 8 4. Что у меня...
C++ Статический массив - динамическое выделение памяти!? int n; cin >> n; int wtf; почему данная конструкция правильно работает? Это же статический массив?! или при таком использовании он является динамическим??:) подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7423 / 4538 / 673
Регистрация: 29.11.2010
Сообщений: 12,319

const_cast(*this) - C++

12.12.2013, 20:16. Просмотров 429. Ответов 5
Метки (Все метки)

Пусть есть некий
C++
1
2
3
4
5
6
7
8
9
class Foo
{
   ...
};
 
std::wostream& operator<< (std::wostream &out, Foo &obj)
{
   // ... very-very many lines
}
И допустим мы хотим этот объект получить как текст. Насколько валидно делать такой хак:
C++
1
2
3
4
5
6
std::wstring Foo::as_text() const
{
    std::wstringstream buf;
    buf << const_cast<Foo&>(*this); // const *this записать не дает
    return buf.str();
}
И какие есть альтернативы, кроме программирования копипастом?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru