Каковы различия между кодом выше и простой инициализацией
blockquote>C
в конструкторе дляA
?Это полностью эквивалентно
A() : c(b.GetC()) {}
. Разницы нет.Единственное отличие, которое вы заметите, это использование нескольких конструкторов. Он будет использовать инициализатор конструктора вместо стандартного, если он указан.
уровень "объявления", которого еще не должно быть. Но C ++ никогда не перестает удивлять, и приведенный выше код, похоже, работает.
То есть это может существовать на уровне классов в C ++?
blockquote>Нет. Инициализатор запускается при вызове конструктора. Элемент для инициализации существует только при создании экземпляра.
For rehydrating them on post back I use a DynamicControlsPlaceholder
It's great when you want to bring a control back with it's viewstate without having to reconstruct it yourself on each request.
1) Всегда следует избегать ненужной сложности.
2) Когда они необходимы.
3) Менее сложные варианты.
Я обычно избегаю их, если требуется обратная передача. Восстановить их - боль. По возможности создавайте их внутри
или другого элемента управления, который может быть привязан к базе данных.