|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||
Инициализация статического поля29.03.2016, 16:44. Показов 10629. Ответов 72
Метки нет (Все метки)
Добрый день,
как объяснить необходимость объявить все статические поля, даже те у которых есть конструктор по умолчанию, вне класса до main. Почему код ниже компилятор не может сам всё порешать в 2016-ом году?
0
|
||||||
| 29.03.2016, 16:44 | |
|
Ответы с готовыми решениями:
72
Инициализация статического массива
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
||
| 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,312
|
|||||
| 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,312
|
||
| 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
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
||
| 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
|
|||||||||
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
|
|
| 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 поля в классе и инициализация Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
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
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|