Здравствуйте, Kluev, Вы писали:
K>Но вернемся к теме, для чего вообще я это пишу? Да просто С++ единственный язык котороый позволяет писать такие вещи без боли в области головы и заднего прохода
.
А что-нибудь ещё кроме списков он умеет?
K>А еще меня очень сильно прет partal specialization для геометрических примитивов:
Watch this:
public abstract class Person : ObjectBase
{
[Required, MaxValue(50)] public abstract string FirstName { get; set; }
[Required, MaxValue(50)] public abstract string LastName { get; set; }
public abstract Gender Gender { get; set; }
[MaxValue(100)] public abstract string Address { get; set; }
}
В результате имеем:
1. EditableObject с возможностью принятия/отката изменений и проверки флага IsDirty.
2. Маппинг во что угодно и из чего угодно (БД, XML и т.п.).
3. Визуальный баиндинг на контролы, включая гриды.
4. Автоматическую валидацию с подсветкой контролов и/или исключениями.
5. Базовый DataAccessor с готовыми основными CRUDL операциями.
6. Возможность тонкой настройки всего вышеперечисленного декларативными средствами.
Всё это без потери производительности, наглядности и тухлых указателей.
Сможешь такое на C++?
K>А cтрашилки про printf — это просто развод для лохов. Всю жизнь юзаю sprintf т.к. iostream не люблю и ничего, ни одной ошибки еще не было. Вот попробуй на С# повтори те упражнения что я здесь привел, тогда и поговорим.
Повторить что, твой код или решение конечной задачи?
... << RSDN@Home 1.2.0 alpha rev. 0>>