Здравствуйте, uzhas, Вы писали:
U>Здравствуйте, _nn_, Вы писали:
__>>VC не поддерживает explicit operator cast.
U>это не относится к моему вопросу
U>мой вопрос в другом: почему работает implicit cast к bool для смарт пойнтеров. из кода это не ясно
http://msdn.microsoft.com/en-us/library/ee475599.aspx
operator bool
The operator returns a value of a type that is convertible to bool. The result of the conversion to bool is true when get() != pointer(), otherwise false.
memory:
unique_ptr
{
...
_OPERATOR_BOOL() const
{ // test for non-null pointer
return (this->_Myptr != pointer() ? _CONVERTIBLE_TO_TRUE : 0);
}
}
Это интересовало ?