|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||
Инициализация статического поля29.03.2016, 16:44. Показов 10544. Ответов 72
Метки нет (Все метки)
Добрый день,
как объяснить необходимость объявить все статические поля, даже те у которых есть конструктор по умолчанию, вне класса до main. Почему код ниже компилятор не может сам всё порешать в 2016-ом году?
0
|
||||||
| 29.03.2016, 16:44 | |
|
Ответы с готовыми решениями:
72
Инициализация статического массива
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
||
| 30.03.2016, 02:08 | ||
|
"Решить" эту задачу можно только один способом: забрать у программиста эту фичу и заявить, что в языке больше не существует вообще никакой упорядоченности инициализации статических объектов. Т.е. поступить по принципу "лучшим лекарством от перхоти является гильотина" - это именно то, что означает ваше "оби эти технические задачи решены". Комитет по стандартизации принял решение уничтожить эту фичу языка? Нет. Комитет по стандартизации хотя бы объявил ее deprecated? Нет. Значит, зайчик вы наш, ваши разглагольствования о каком-то "решении задачи" в данном случае - продукт вашего воображения.
1
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 30.03.2016, 02:14 | ||
|
за точкой с запятой - это только шаблоны позволяют. господин rikimaru2013 вообще не хочет писать определение статического члена. он хочет, что бы член инициализировался дефолтным значением. и что бы компилятор как нибудь сам это все разрулил.
0
|
||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
|||||
| 30.03.2016, 02:23 | |||||
Если бы у типа int был дефолтный конструктор, то он бы вызывался и для локальных объектов. А он что-то не вызывается... Ваши потешные супер-теории про какие-то волшебные два дефолтных конструктора (!) я даже рассматривать не буду.И, во-вторых, да, вы лично можете воспринимать это как угодно. Но не удивляйтесь, если ваши попытки втирать ваши теории тут будут восприниматься с удивленным недоумением (мягко выражаясь) ![]()
0
|
|||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||
| 30.03.2016, 02:29 | |||||
|
я даже не хочу думать о том, на основании чего вы делаете такие выводы. см #7 тот факт, что в компиляторах уже сегодня реализовано все необходимое, что бы впилить возможность определять статики в хэдерах/классах - это не воображение. конечно, может быть вы не в состоянии глядя на примеры с шаблонами, сделать вывод, что проблему ODR успешно удалось преодолеть ещё хз в каких годах. может быть у вас в голове не укладывается мысль, что для того, что бы позволить определять статические поля прямо в классе, вовсе не нужно изменять порядок инициализации статических переменных ед. трансляции. но тут уж я вам ничем не могу помочь.
0
|
|||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
||
| 30.03.2016, 02:34 | ||
И уже не позорьтесь, выдавая ваши личные домыслы за планы комитета по стандартизации - я все таки про эти планы знаю неизмеримо больше вашего ![]()
0
|
||
|
2083 / 1575 / 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 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 30.03.2016, 02:53 | |
|
0
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
||
| 30.03.2016, 03:01 | ||
|
В терминологии языка С++ есть термин "вызов псевдодеструктора", но нет и никогда не было термина "псевдоконструктор". Поэтому к чему вы нам тут рассказываете свои сокровенные мысли о каких-то "синонимах" и "псевдоконструкторах" мне в упор не ясно. Неужели так трудно было поверить, вместо того, чтобы вот так подставляться? Значит, еще раз, слушай мою команду: ваше бессвязное барахтанье в ваших же собственных выдумках себя полностью исчерпало и начинает ходить по кругу с нарастанием степени бессвязности. Я уже начинаю вас жалеть. Мой вам совет: учите матчасть, причем начинайте с азов. Пока что вы нам лишь вещаете теории из разряда диссертации Василия Ивановича: "Записывай, Петька, безногий таракан - не слышит".
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 30.03.2016, 11:59 [ТС] | ||
|
0
|
||
|
2083 / 1575 / 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
|
|||||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,308
|
|
| 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 / 1575 / 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 / 1575 / 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 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 30.03.2016, 19:59 | |||
|
0
|
|||
| 30.03.2016, 19:59 | |
|
Инициализация статического члена из шаблонного класса Инициализация константного статического объекта - члена класса Инициализация статического члена std::vector в шаблонном классе Заполнение статического поля класса с клавиатуры Static поля в классе и инициализация Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|