| R *j=new R(); // i==0 b==false | |
| От: | Аноним 306 | ||
| Дата: | 28.05.08 11:38 |
В строке R *j=new R(); происходит инициализация членов, а как добиться тогоже для R kk; ,с конструктором по умолчанию? |
| Re: R *j=new R(); // i==0 b==false | |
| От: | Lorenzo_LAMAS | ||
| Дата: | 28.05.08 11:47 | ||
| Оценка: | +1 | ||
| А>В строке R *j=new R(); происходит инициализация членов, А>а как добиться тогоже для R kk; ,с конструктором по умолчанию? Например, так R kk = R(); хотя я и не уверен, как себя поведет твой компилятор. Только тут нет конструктора по умолчанию, это value-initialization Of course, the code must be complete enough to compile and link. |
| Re: R *j=new R(); // i==0 b==false | |
| От: | Alexander G | ||
| Дата: | 28.05.08 12:02 |
| Здравствуйте, Аноним, Вы писали: А>
А>В строке R *j=new R(); происходит инициализация членов, А>а как добиться тогоже для R kk; ,с конструктором по умолчанию? R kk = {}; Только это всё применимо как раз когда нет конструкторов, в том числе по умолчанию. |
| Re[2]: R *j=new R(); // i==0 b==false | |
| От: | Bell | ||
| Дата: | 28.05.08 12:10 |
| Здравствуйте, Lorenzo_LAMAS, Вы писали: А>>В строке R *j=new R(); происходит инициализация членов, А>>а как добиться тогоже для R kk; ,с конструктором по умолчанию? L_L>Например, так R kk = R(); хотя я и не уверен, как себя поведет твой компилятор. Только тут нет конструктора по умолчанию, это value-initialization Да, это value-initialization, но тривиальный конструктор по умолчанию у R все же есть. Другое дело, что у R нет определенного пользователем конструктора — а именно это определяет способ инициализации. Любите книгу — источник знаний (с) М.Горький |
| Re[2]: R *j=new R(); // i==0 b==false | |
| От: | Bell | ||
| Дата: | 28.05.08 12:14 |
| Здравствуйте, Alexander G, Вы писали: AG>R kk = {}; AG>Только это всё применимо как раз когда нет конструкторов, в том числе по умолчанию. Этот способ инициализации подходит для агрегатов. Т.е. главное в данном случае — отсутствие определенных пользователем конструкторов. Тривиальный конструктор по умолчанию у R есть — он сгенерирован компилятором. Любите книгу — источник знаний (с) М.Горький |
| Re: R *j=new R(); // i==0 b==false | |
| От: | Pasternak | ||
| Дата: | 28.05.08 13:11 | ||
| Оценка: | 29 (2) ![]() | ||
| Здравствуйте, Аноним, Вы писали: А>
А>В строке R *j=new R(); происходит инициализация членов, А>а как добиться тогоже для R kk; ,с конструктором по умолчанию? Наверное как-то так:
|
| Re[2]: R *j=new R(); // i==0 b==false | |
| От: | AlexCrush | ||
| Дата: | 28.05.08 16:27 | ||
| Оценка: | ![]() | ||
| Здравствуйте, Pasternak, Вы писали: P>Наверное как-то так: P>
Ого! А HelloWorld с использованием буста как выглядит? |
| Re[2]: R *j=new R(); // i==0 b==false | |
| От: | Кодт модератор | ||
| Дата: | 29.05.08 07:36 | ||
| Оценка: | ![]() | ||
| Здравствуйте, Pasternak, Вы писали: P>
О как! Я со своим auto_value Автор: Кодт опоздал всего на полгода...Дата: 16.01.03 ... << RSDN@Home 1.2.0 alpha rev. 655>> Перекуём баги на фичи! |