|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||
Инициализация статического поля29.03.2016, 16:44. Показов 10873. Ответов 72
Метки нет (Все метки)
Добрый день,
как объяснить необходимость объявить все статические поля, даже те у которых есть конструктор по умолчанию, вне класса до main. Почему код ниже компилятор не может сам всё порешать в 2016-ом году?
0
|
||||||
| 29.03.2016, 16:44 | |
|
Ответы с готовыми решениями:
72
Инициализация статического массива
|
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,389
|
||
| 30.03.2016, 02:08 | ||
|
"Решить" эту задачу можно только один способом: забрать у программиста эту фичу и заявить, что в языке больше не существует вообще никакой упорядоченности инициализации статических объектов. Т.е. поступить по принципу "лучшим лекарством от перхоти является гильотина" - это именно то, что означает ваше "оби эти технические задачи решены". Комитет по стандартизации принял решение уничтожить эту фичу языка? Нет. Комитет по стандартизации хотя бы объявил ее deprecated? Нет. Значит, зайчик вы наш, ваши разглагольствования о каком-то "решении задачи" в данном случае - продукт вашего воображения.
1
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 30.03.2016, 02:14 | ||
|
за точкой с запятой - это только шаблоны позволяют. господин rikimaru2013 вообще не хочет писать определение статического члена. он хочет, что бы член инициализировался дефолтным значением. и что бы компилятор как нибудь сам это все разрулил.
0
|
||
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,389
|
|||||
| 30.03.2016, 02:23 | |||||
Если бы у типа int был дефолтный конструктор, то он бы вызывался и для локальных объектов. А он что-то не вызывается... Ваши потешные супер-теории про какие-то волшебные два дефолтных конструктора (!) я даже рассматривать не буду.И, во-вторых, да, вы лично можете воспринимать это как угодно. Но не удивляйтесь, если ваши попытки втирать ваши теории тут будут восприниматься с удивленным недоумением (мягко выражаясь) ![]()
0
|
|||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||
| 30.03.2016, 02:29 | |||||
|
я даже не хочу думать о том, на основании чего вы делаете такие выводы. см #7 тот факт, что в компиляторах уже сегодня реализовано все необходимое, что бы впилить возможность определять статики в хэдерах/классах - это не воображение. конечно, может быть вы не в состоянии глядя на примеры с шаблонами, сделать вывод, что проблему ODR успешно удалось преодолеть ещё хз в каких годах. может быть у вас в голове не укладывается мысль, что для того, что бы позволить определять статические поля прямо в классе, вовсе не нужно изменять порядок инициализации статических переменных ед. трансляции. но тут уж я вам ничем не могу помочь.
0
|
|||||
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,389
|
||
| 30.03.2016, 02:34 | ||
И уже не позорьтесь, выдавая ваши личные домыслы за планы комитета по стандартизации - я все таки про эти планы знаю неизмеримо больше вашего ![]()
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 30.03.2016, 02:39 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||||||||
| 30.03.2016, 02:49 | |||||||||||||||||
|
что "фиктивный конструктор" и "псевдоконструктор" - это синонимы. только у вас похоже мазгов не хватает понять. может быть вам слово "фиктивный" не знакомо? для вас же специально старался печатал пример:
кстати, найдите ка мне цитатку, где говорится, что все классы обязаны иметь конструктор. что если программист его не опишет, тогда он будет сгенерирован автоматически компиляторов.
в основном меня окружают адекватные люди. лишь изредка проскакивают исключения. 1. стандарт языка не описывает, что такое ооп. вы знаете, что такое ооп? 2. вам понятен смысл слова "оо-тип" ? это - тест на вашу адекватность. Добавлено через 3 минуты Почему С++ отстой до 2020 года Добавлено через 27 секунд
0
|
|||||||||||||||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 30.03.2016, 02:53 | |
|
0
|
|
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,389
|
||
| 30.03.2016, 03:01 | ||
|
В терминологии языка С++ есть термин "вызов псевдодеструктора", но нет и никогда не было термина "псевдоконструктор". Поэтому к чему вы нам тут рассказываете свои сокровенные мысли о каких-то "синонимах" и "псевдоконструкторах" мне в упор не ясно. Неужели так трудно было поверить, вместо того, чтобы вот так подставляться? Значит, еще раз, слушай мою команду: ваше бессвязное барахтанье в ваших же собственных выдумках себя полностью исчерпало и начинает ходить по кругу с нарастанием степени бессвязности. Я уже начинаю вас жалеть. Мой вам совет: учите матчасть, причем начинайте с азов. Пока что вы нам лишь вещаете теории из разряда диссертации Василия Ивановича: "Записывай, Петька, безногий таракан - не слышит".
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 30.03.2016, 11:59 [ТС] | ||
|
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 30.03.2016, 16:18 | ||
|
1
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||
| 30.03.2016, 18:47 | |||||||||
это - всего лишь сахарок, благодаря которому создается весьма убедительная имитация, будто бы у примитивов действительно есть все эти конструкторы-диструкторы. весь этот сахарок описывается в стандарте. может быть другими словами, но смысл абсолютно одинаковый. вы же вообще не в состоянии что либо понять, если только это - не цитата из стандарта. я возьму от балды любую цитату. переведу на русский, и специально поменяю слова на какие нибудь синонимы. смысл от этого не изменится. любой адекватный человек воспримет правильно. вы же опять начнете ныть, что вот в стандарте таких фраз нет, а значит это все - не более, чем выдумки. при этом вы проигнорируете выдержку кода, которая иллюстрирует положение на практике. и ни одна из этих "выдумок" не противоречит положениям стандарта языка. вот только вы все равно своими мозгами понять это не в состоянии. мне интересны знания, которые я смогу применять на практике. но вряд вы сможете сообщить мне что нибудь о с++ такое, чего бы я ещё не знал.
0
|
|||||||||
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,389
|
|
| 30.03.2016, 18:54 | |
|
0
|
|
| 30.03.2016, 18:57 | |
|
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 30.03.2016, 18:58 | |||
|
что шаблоно код целиком и полностью живет в хедерах. а так же, знаете, что у шаблоно-классов бывают статические члены. которые определяются прямо в хедерах. выше вы писали: компилятор прекрасно все разруливает и без участия человека. получается, что вы ошибаетесь. и компиляторы прекрасно умеют самостоятельно разруливать подобные вопросы. другое дело, что технология реализована только для шаблонов. на обычные классы тупо забили болт.
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 30.03.2016, 19:19 | |||
|
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 30.03.2016, 19:33 | ||
|
потому что один и тот же хэдер со всеми своими шаблонами включается во множество спп файлов. и никаких проблем.
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 30.03.2016, 19:38 | |||
|
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 30.03.2016, 19:44 | ||||
|
шаблоны имеют иммунитет против нарушений ODR. вы можете совершенно безопасно их использовать. компилятор cl (вижуал студия) для каждой ед. трансляции инстанцирует собственную копию. потом линкер повыкидывает все, кроме одной. что все он прекрасно знает. без всяких явных указаний разберется, какой модуль выбрать.
0
|
||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 30.03.2016, 19:59 | |||
|
0
|
|||
| 30.03.2016, 19:59 | |
|
Инициализация статического члена из шаблонного класса Инициализация константного статического объекта - члена класса Инициализация статического члена std::vector в шаблонном классе Заполнение статического поля класса с клавиатуры Static поля в классе и инициализация Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|