Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Const_cast-ить не надо. Можно просто объявить mutable 24.03.09 00:08 Число просмотров: 2735
Автор: amirul <Serge> Статус: The Elderman
|
> копирующий конструтор c константной ссылкой, а внутри его > конст-кастить указатель. Вроде то же на то же. Хотя Но тогда будет работать код, который работать не должен:
http://www.josuttis.com/libbook/auto_ptr.html
#include <memory>
void
f(auto_ptr<int> p) { // Твой auto_ptr
*p = 24;
}
void
g(std::auto_ptr<int> p) {
*p = 24;
}
void
main() {
const auto_ptr<int> p1(new int);
const std::auto_ptr<int> p2(new int);
*p1 = 42;
*p2 = 42;
f(p1);
g(p2)
}
---
> признаться я до конца так и не понял каким образом он так > ловко находит сам собой этот auto_ptr_ref. Видимо > (очевидно), я не очень хорошо понимаю правила приведения > типов в C++.
> В общем спасибо за помощь. Ага. И таки да, это хак. Еще один забавный хак - бустовый unspecified_boolean_type в умных указателях.
|
|
|