boost::shared_ptr< const type >
От: Ignoramus  
Дата: 05.12.05 11:15
Оценка:
Использую тип

typedef boost::shared_ptr< type > type_shared;


Только сейчас заметил, что когда я пишу const type_shared или const type_shared&, то констатнтым является оболочка смартпойнтера, но не указатель, который она хранит.

Соответственно, решил, что следует определить два типа:

typedef boost::shared_ptr< type > type_shared;
typedef boost::shared_ptr< const type > type_shared_const;


Вопросы:

1) (глупый) Так все и делают?

2) Если у меня есть type_shared, а в функцию нужно передать type_shared_const, что при этом происходит? Неявное конструирование type_shared_const из type_shared? Дает ли это какой-то оверхед в runtime, или все разрешается в compile time?

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.