СAtlString to bool implicit cast???
От: Аноним  
Дата: 23.08.07 13:26
Оценка:
Только что был весьма удивлен тем фактом что из двух прегруженных ф-й, у которых отличается лишь третий параметр, студия брала и молча приводила мне СAtlString в bool игнорирую заведомо предназначеный для строк вариант =\


Решил проверить не закипел ли мой моск:
СAtlString strKeyName;
bool b=strKeyName;
Всё идеальн собирается...и только в ранайме бросает ексепшн....и нафига такой каст реализован?
Re: СAtlString to bool implicit cast???
От: Sergey Россия  
Дата: 23.08.07 13:34
Оценка:
> Только что был весьма удивлен тем фактом что из двух прегруженных ф-й, у которых отличается лишь третий параметр, студия брала и молча приводила мне СAtlString в bool игнорирую заведомо предназначеный для строк вариант =\
>
>
> Решил проверить не закипел ли мой моск:
> СAtlString strKeyName;
> bool b=strKeyName;
> Всё идеальн собирается...и только в ранайме бросает ексепшн....и нафига такой каст реализован?

Чтобы можно было писать if (str) , разумеется. Что, впрочем, авторов ATL не извиняет.
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[2]: СAtlString to bool implicit cast???
От: Аноним  
Дата: 23.08.07 13:38
Оценка:
Здравствуйте, Sergey, Вы писали:

>> Только что был весьма удивлен тем фактом что из двух прегруженных ф-й, у которых отличается лишь третий параметр, студия брала и молча приводила мне СAtlString в bool игнорирую заведомо предназначеный для строк вариант =\

>>
>>
>> Решил проверить не закипел ли мой моск:
>> СAtlString strKeyName;
>> bool b=strKeyName;
>> Всё идеальн собирается...и только в ранайме бросает ексепшн....и нафига такой каст реализован?

S>Чтобы можно было писать if (str) , разумеется. Что, впрочем, авторов ATL не извиняет.



А почему же тогда бросать exception при просто присваивании заведомой пустой строки
Re[2]: СAtlString to bool implicit cast???
От: Programador  
Дата: 23.08.07 13:42
Оценка:
Здравствуйте, Sergey, Вы писали:

S>Чтобы можно было писать if (str) , разумеется. Что, впрочем, авторов ATL не извиняет.

а почему не амбижиоус?
Re[3]: СAtlString to bool implicit cast???
От: Sergey Россия  
Дата: 23.08.07 13:57
Оценка:
> S>Чтобы можно было писать if (str) , разумеется. Что, впрочем, авторов ATL не извиняет.
> а почему не амбижиоус?

А с чего здесь неоднозначность найдется?
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re: СAtlString to bool implicit cast???
От: Erop Россия  
Дата: 23.08.07 14:02
Оценка:
Здравствуйте, Аноним, Вы писали:

СAtlString strKeyName;
bool b=strKeyName;

А>Всё идеальн собирается...и только в ранайме бросает ексепшн....и нафига такой каст реализован?
Ну так наверное борятся с вредными последствиями преобразования к LPCTSTR
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: СAtlString to bool implicit cast???
От: Аноним  
Дата: 23.08.07 14:20
Оценка:
Здравствуйте, Erop, Вы писали:

E>Здравствуйте, Аноним, Вы писали:


E>
СAtlString strKeyName;
E>bool b=strKeyName;

А>>Всё идеальн собирается...и только в ранайме бросает ексепшн....и нафига такой каст реализован?
E>Ну так наверное борятся с вредными последствиями преобразования к LPCTSTR

И в чем суть борьбы? как это упрощает вред от LPCTSTR каста
Re[3]: СAtlString to bool implicit cast???
От: Erop Россия  
Дата: 23.08.07 14:22
Оценка:
Здравствуйте, Аноним, Вы писали:

А>И в чем суть борьбы? как это упрощает вред от LPCTSTR каста


if( str ) работает не так шизофринично. Но почему оно не private --
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.