Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
value-initialization динамического массива
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. GCC 5.4 можно заставить сожрать такой синтаксис ключом -fpermissive, при этом у всех десяти объектов реально вызовутся конструкторы и всё будет работать как ожидаемо. Это расширение чисто у GCC или в какой-то редакции стандарта сабж уже разрешили-таки? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2018, 22:30 |
|
||
|
value-initialization динамического массива
|
|||
|---|---|---|---|
|
#18+
Нет, это нестандартное. Согласно стандарту, после new A[10] может идти только инициализатор массива. Т.е. A[10]{<10 значений>}, если у A нет конструктора по умолчанию, или A[10]{<не более 10 значений>} если есть конструктор по умолчанию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2018, 00:05 |
|
||
|
value-initialization динамического массива
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyНет, это нестандартное. Жаль, удобная штука. Тем более, что такую конструкцию стандарт разрешает: Код: sql 1. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2018, 00:15 |
|
||
|
value-initialization динамического массива
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЖаль, удобная штука. Тем более, что такую конструкцию стандарт разрешает: Код: sql 1. Эту тоже не разрешает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2018, 00:42 |
|
||
|
value-initialization динамического массива
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyЭту тоже не разрешает. Однако, разрешает: cppreference3) if T is an array type, each element of the array is value-initialized; Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2018, 12:30 |
|
||
|
value-initialization динамического массива
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovAnatoly MoskovskyЭту тоже не разрешает. Однако, разрешает: cppreference3) if T is an array type, each element of the array is value-initialized; A a[10](5); это не value initialization, а direct initialization. http://eel.is/c draft/dcl.init#17 The semantics of initializers are as follows. The destination type is the type of the object or reference being initialized and the source type is the type of the initializer expression. If the initializer is not a single (possibly parenthesized) expression, the source type is not defined. — If the initializer is a (non-parenthesized) braced-init-list or is = braced-init-list, the object or reference is list-initialized. — If the destination type is a reference type, see [dcl.init.ref]. — If the destination type is an array of characters, an array of char16_t, an array of char32_t, or an array of wchar_t, and the initializer is a string literal, see [dcl.init.string]. — If the initializer is (), the object is value-initialized. — Otherwise, if the destination type is an array, the program is ill-formed.Anatoly Moskovsky, конечно, будет говорить, что "Otherwise" относится только к предыдущему пункту ("If the initializer is (), the object is value-initialized."), но не надо его слушать. "Otherwise" относится ко всем вышеперечисленным. Инициализатор в `A a[10](5)` не попадает ни под одно условие выше пункта с Otherwise, а destination type is an array. Следовательно, the program is ill-formed. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2018, 13:04 |
|
||
|
value-initialization динамического массива
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, начиная с GCC 7 тоже перестает компилировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2018, 13:08 |
|
||
|
value-initialization динамического массива
|
|||
|---|---|---|---|
|
#18+
Однако тут есть такая фича, что просто опа... Во-первых должна применяться aggregate initialization (пункт следующий 11.6.1 драфта), но она работает своеобразно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Вывод -10 51 00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2018, 14:07 |
|
||
|
value-initialization динамического массива
|
|||
|---|---|---|---|
|
#18+
Siemarglона работает своеобразно В чём своеобразность? В отличии от value, она тем, кому значений в инициализирующем агрегате не хватило, делает zero. Это ясно написано. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2018, 14:18 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39652916&tid=2017846]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 139ms |

| 0 / 0 |
