Лена |
Отправлено: 06.10.2006, 15:19 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Допустим, программа формирует строку с таким значением:
AnsiString P = "False";
Или
AnsiString P = "0";
Я хочу объявить переменную типа bool и присвоить ее значение из строки P. Такое возможно? Так не правильно: bool par = (bool)P;
|
|
Admin |
Отправлено: 06.10.2006, 15:32 |
|
Владимир
Группа: Администратор
Сообщений: 1190
|
Не надо извращаться, запутаетесь.
Так не правильно, потому что "False" — это строка.
bool par = (P=="False")? false : true;
или через if(...)
|
|
Лена |
Отправлено: 06.10.2006, 15:38 |
|
Мастер участка
Группа: Участник
Сообщений: 501
|
Понятно.
Это я экспериментировала с привидением типов, для общего развития.
|
|
Георгий |
Отправлено: 13.10.2006, 20:57 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
вот так куда круче
CODE | class myBool{
private:
bool val;
public:
operator std::string()const{return val?"true":false;};
myBool& operator =(const std::string&v)const{val=(v.toLower()==std::string("true"))true?false;};
operator bool()const{return val;};
}; | |
|
olegenty |
Отправлено: 14.10.2006, 06:15 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
2 Георгий — навевает мысли о boost::any и visitor
|
|