|
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255
|
||||||
Инициализация статического массива08.05.2011, 23:37. Показов 18542. Ответов 45
Метки нет (Все метки)
Добрый вечер!
Допустим, что имеется класс
0
|
||||||
| 08.05.2011, 23:37 | |
|
Ответы с готовыми решениями:
45
Инициализация статического члена из шаблонного класса |
|
|
||
| 13.05.2011, 19:46 | ||
|
Если тебе массив нужно проинициализировать константным значением, то такая конструкция, ко всему прочему, лишена смысла - зачем в каждом экземпляре класса плодить одинаково инициализированные поля, если можно использовать статическое поле
1
|
||
| 13.05.2011, 20:17 [ТС] | |
|
Не по теме: Информационная тема вышла..:)
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||||||
| 13.05.2011, 20:23 | ||||||
|
Это еще не все...
![]() Как это ни странно, но большие проблемы возникают при попытках объявить в классе константный массив встроенного типа! Как мы уже выяснили, константы нельзя инициализировать в теле конструктора, значения им присваиваются только в списке инициализации конструктора. Однако для константного массива встроенного типа не работает даже инициализация нулем. ПРИМЕЧАНИЕ Этот вопрос практически не отражен в стандарте, поэтому компиляторы ведут себя по-разному. В системе Visual C++.NET 2003 выдается ошибка компиляции C2439, а Borland C++ Builder 6 выдает только предупреждение W8038 о том, что массив не инициализируется. Не проходит и отмена константности. Например, зададим массив m0 как константный, а в теле конструктора определим инициализацию в цикле:
Удивительно, но для константного массива из объектов не встроенного типа задавать инициализацию нулем разрешается. Для этого в классе должен быть определен конструктор без аргументов, который вызывается для инициализации каждого элемента константного поля-массива.
0
|
||||||
|
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255
|
||
| 13.05.2011, 20:35 [ТС] | ||
|
Дело в том, что я этот способ предлагал выше в теме, но Evg констатировал тот факт, что это нереализуемо на нижнем уровне.
0
|
||
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
| 13.05.2011, 23:15 | |
|
Например, вполне можно инициализировать константный массив денег, объявленный в качестве поля:
const TMoney ss[10]; Для этого достаточно задать в списке инициализации конструктора инициализацию нулем ss(). Как реально инициализируется такой массив, конечно, зависит от реализации конструктора без аргументов, который вызывается в этом случае.
0
|
|
|
9 / 9 / 0
Регистрация: 15.07.2010
Сообщений: 255
|
|
| 13.05.2011, 23:19 [ТС] | |
|
ValeryLaptev, проще и изысканней добавить модификатор static.
C const инициализация массива идёт через з.....цу
0
|
|
| 13.05.2011, 23:19 | |
|
Инициализация константного статического объекта - члена класса Инициализация статического члена std::vector в шаблонном классе
Обнуление статического массива Из статического массива в динамический Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|