Здравствуйте, Vamp, Вы писали:
R>>как сделать такой класс самому чтобы можно было проверят успешность чего либо без вызова какого либо метода просто
V>В классе надо определить оператор приведения к bool, возвращающий true или false в зависимости от твоих условий.
Любим мы разложить грабли. Работать будет, но я боюсь представить как может выстрелить такая экономия — на вскидку в логических выражениях.
А к топикастеру — чем не нравится !fin.fail() ? Я думаю тут не то место, где надо экономить на символах получая взамен потенциально опасный неявный вызов.
Да пребудет с тобой Великий Джа
Re[2]: Вопрос по классам. Не знаю как правильно сформулирова
Здравствуйте, Vamp, Вы писали:
R>>как сделать такой класс самому чтобы можно было проверят успешность чего либо без вызова какого либо метода просто
V>В классе надо определить оператор приведения к bool, возвращающий true или false в зависимости от твоих условий.
Лучшие собаководы рекомендуют приводиться не к bool, но к unspecified-bool. Потому что bool умеет неявно продвигаться до int, что приводит к возможности писать бессмысленные выражения вида foo << 1 или int i = foo или if (foo == bar), где foo и bar — разных типов.
В>Любим мы разложить грабли. Работать будет, но я боюсь представить как может выстрелить такая экономия — на вскидку в логических выражениях.
Это не мы, это стандартная библиотека — реализовано в классе ios
В>А к топикастеру — чем не нравится !fin.fail() ? Я думаю тут не то место, где надо экономить на символах получая взамен потенциально опасный неявный вызов.
Да ничем он не опасен. Соврешенно нормальная проверка, практически на естественном языке записанная.
Да здравствует мыло душистое и веревка пушистая.
Re: Вопрос по классам. Не знаю как правильно сформулировать
Здравствуйте, r1der, Вы писали:
R>как сделать такой класс самому чтобы можно было проверят успешность чего либо без вызова какого либо метода просто R>конструкцией R>if(!объект_класса)
Переопределить оператор !
Вопрос по классам. Не знаю как правильно сформулировать
допустим создает поток ввода
ifstream fin("....
теперь мы можем проверять как открылся поток вот таким кодом
if (fin)
он эквивалентен
if (!fin.fail())
как сделать такой класс самому чтобы можно было проверят успешность чего либо без вызова какого либо метода просто
конструкцией
if(!объект_класса)
или может быть какой то дефайн сущевствует который заменяет if (fin) на if (!fin.fail())?
icq 314624
Re: Вопрос по классам. Не знаю как правильно сформулировать
Здравствуйте, Vamp, Вы писали:
В>>Любим мы разложить грабли. Работать будет, но я боюсь представить как может выстрелить такая экономия — на вскидку в логических выражениях. V>Это не мы, это стандартная библиотека — реализовано в классе ios
В>>А к топикастеру — чем не нравится !fin.fail() ? Я думаю тут не то место, где надо экономить на символах получая взамен потенциально опасный неявный вызов. V>Да ничем он не опасен. Соврешенно нормальная проверка, практически на естественном языке записанная. так уж и ничем?