LINUX.ORG.RU

История изменений

Исправление Siborgium, (текущая версия) :

В С++ ты мог бы сделать и полиморфную статик функцию.

Да, но ей все равно придется форвардить аргументы конструктору – или конструировать по умолчанию, а затем вручную конструировать отдельные поля из аргументов. Уже тут начнутся проблемы – не все, что MoveConstructible, является MoveAssignable, и так далее.

Проблема возврата Result все равно остается и в общем случае не решается, придется либо затирать типы, либо использовать развесистые variant’ы с ошибками.

Наконец, избегать исключений ради избегания исключений смысла нет.

Если договорится что это теперь везде используется вместо конструкторов.

В Gtkmm так и делают (не везде, впрочем), и лазить по докам в поисках нужной статической функции довольно неприятно. Справедливости ради, полиморфизмом там и не пахнет.

Исправление Siborgium, :

В С++ ты мог бы сделать и полиморфную статик функцию.

Да, но ей все равно придется форвардить аргументы конструктору – или конструировать по умолчанию, а затем вручную конструировать отдельные поля из аргументов. Уже тут начнутся проблемы – не все, что MoveConstructible, является MoveAssignable, и так далее.

Проблема возврата Result все равно остается и в общем случае не решается, придется либо затирать типы, либо использовать развесистые variant’ы с ошибками.

Наконец, избегать исключений ради избегания исключений смысла нет.

Если договорится что это теперь везде используется вместо конструкторов.

В Gtkmm так и делают (не везде, впрочем), и лазить по докам в поисках нужной статической функции довольно неприятно.

Исправление Siborgium, :

В С++ ты мог бы сделать и полиморфную статик функцию.

Да, но ей все равно придется форвардить аргументы конструктору – или конструировать по умолчанию, а затем вручную конструировать отдельные поля из аргументов. Уже тут начнутся проблемы – не все, что MoveConstructible, является MoveAssignable. Проблема возврата Result все равно остается и в общем случае не решается, придется либо затирать типы, либо использовать развесистые variant’ы с ошибками.

Если договорится что это теперь везде используется вместо конструкторов.

В Gtkmm так и делают (не везде, впрочем), и лазить по докам в поисках нужной статической функции довольно неприятно.

Исправление Siborgium, :

В С++ ты мог бы сделать и полиморфную статик функцию.

Да, но ей все равно придется форвардить аргументы конструктору – или задавать вручную. Проблема возврата Result все равно остается и в общем случае не решается, придется либо затирать типы, либо использовать развесистые variant’ы с ошибками.

Если договорится что это теперь везде используется вместо конструкторов.

В Gtkmm так и делают (не везде, впрочем), и лазить по докам в поисках нужной статической функции довольно неприятно.

Исходная версия Siborgium, :

В С++ ты мог бы сделать и полиморфную статик функцию.

Да, но ей все равно придется форвардить аргументы конструктору – или задавать вручную. Проблема возврата Result все равно остается и в общем случае не решается, придется либо затирать типы, либо использовать развесистые variant’ы с ошибками.

Если договорится что это теперь везде используется вместо конструкторов.

Мог бы. В Gtkmm так и делают, и лазить по докам в поисках нужной статической функции довольно неприятно.