- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
struct DateTime {
string x;
DateTime() { x = Now(); }
DateTime(const string& _x): x(_x) { if (BadDateTime) throw Exception(); }
operator string() { return x; }
};
string correctDateTime(const string& value)
{
try
{
DateTime(value); // if the value is bad, ctor will throw
return value;
}
catch (…) {}
return DateTime(); // and we replace bad DateTime with currentDateTime
}
bormand 04.11.2015 09:07 # +1
Bobik 04.11.2015 09:18 # 0
roman-kashitsyn 04.11.2015 13:34 # +8
Bobik 04.11.2015 13:37 # −1
Исправляется через (void) DateTime(value) или (DateTime(value));
roman-kashitsyn 04.11.2015 13:39 # +2
return isBadDate(s) ? Now() : s;
Bobik 04.11.2015 13:42 # 0
roman-kashitsyn 04.11.2015 13:53 # +3
Bobik 04.11.2015 14:17 # 0
Dummy00001 04.11.2015 16:13 # 0
дайте угадаю мотивацию "private": потому что никому никогда не понадобится проверка валидности строковых дат?
TarasB 05.11.2015 11:06 # +1
Некорректность строки - это сука не исключительная ситуация.
Bobik 05.11.2015 12:44 # 0
TarasB 05.11.2015 12:50 # 0
bormand 05.11.2015 17:51 # 0
Bobik 05.11.2015 17:52 # 0
bormand 05.11.2015 17:58 # 0
imihajlov 06.11.2015 11:03 # +1
static DateTime::currentDate(),
static DateTime::fromString() throws FormatException
bormand 05.11.2015 17:45 # 0
bormand 04.11.2015 13:55 # +9
Блин, обожаю синтаксис крестов. Каждый день что-то новое ;)
Elvenfighter 05.11.2015 02:36 # +2
http://ideone.com/yMPfIY
Antervis 05.11.2015 06:16 # +4
Более наглядный и злой пример...
Antervis 05.11.2015 06:06 # −2
imihajlov 05.11.2015 10:27 # +2
Разница в том, что в си нет конструкторов и в переменных будет мусор, а в плюсах вызовется конструктор по умолчанию для классов.
inkanus-gray 05.11.2015 10:04 # +4
Когда добавили лямбды, перегрузили квадратные скобки для лямбд.
Теперь ещё и круглым скобкам нельзя доверять.
Разработчики крестов по какой-то причине экономят символы. Создаётся ощущение, что у них такая клавиатура:
https://c-a.d-cd.net/129cba2s-480.jpg
TarasB 05.11.2015 11:05 # +7
Когда добавили лямбды и перегрузили квадратные скобки для лямбд, то мне было всё равно, ведь я не квадратная скобка
Когда перегрузили круглые скобки, некому было за меня заступиться.
3.14159265 08.11.2015 03:09 # 0
а) конструкторы не называются так как и классы
б) в объявлении сначала идёт имя переменной, а потом тип
Antervis 05.11.2015 11:42 # +2
Кстати, лично я не вижу толкового способа обозначения лямбд без квадратных скобок (внутри которых перечислены захватываемые символы)
inkanus-gray 05.11.2015 11:53 # 0
Antervis 05.11.2015 12:13 # +1
inkanus-gray 05.11.2015 12:15 # 0
3.14159265 08.11.2015 03:25 # +2
>Крестоблядство
С ума сошёл? Еще столько значков неиспользованных! Более того еще столько значков не использованных по пятому разу!
inkanus-gray 08.11.2015 11:46 # +1
Или с диграфами:
Такими методами кресты станут похожи на J.
P.S. Мне слово «return» не нравится: выбивается из стиля. Нужно заменить на какой-нибудь значок.
1024-- 08.11.2015 12:26 # 0
$?
Vasiliy 08.11.2015 15:44 # 0
p->isForeigner())?
$ 100
:p->isTourist()?
$20
:100
guest 07.11.2015 13:10 # +1
TarasB 05.11.2015 11:01 # 0
В ворде набирал?
imihajlov 05.11.2015 11:28 # +4
inkanus-gray 05.11.2015 11:51 # +2
TarasB 05.11.2015 12:05 # +2
Интересно, если Ворд будет заменять ещё и << на «, то пиздец же будет
inkanus-gray 05.11.2015 12:10 # +1
imihajlov 05.11.2015 12:05 # +5
Bobik 05.11.2015 12:45 # 0
3.14159265 08.11.2015 03:12 # +3
Кресты своей ебанутостью явно не дают скатица сайту.