|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|||||||||||
Массив шаблонов30.03.2024, 16:40. Показов 4469. Ответов 79
Метки нет (Все метки)
Всем привет
я адинесник прошу не пинать ![]() захотелось как и в адинес добавлять в массив любые типы возникает вопрос можно ли создать или объявить как то массив [] с фиксированной длиной при инициализации указав все элементы но скажем так массив указателей на разные типы. ведь как я понял указатель то имеет одинаковую природу и величину - какая разница на что указывать. т.е хочу создать массив указателей на произвольные объекты, т.е. аналогично шаблон функции
можно ли создать такое типа auto arr[2] ={&s1, $s2}; Добавлено через 2 минуты неожиданно получилось вот так
0
|
|||||||||||
| 30.03.2024, 16:40 | |
|
Ответы с готовыми решениями:
79
Разреженный массив (с использованием шаблонов), исключение оператора посредством SFINAE Массив шаблонов или как обратиться к элементам разного типа, хранящиеся в одном "списке" по индексу Использование шаблонов |
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 08.04.2024, 23:39 | |
|
0
|
|
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||
| 08.04.2024, 23:48 [ТС] | ||
|
про выравнивание байтов тоже - интересно
Добавлено через 1 минуту ,а то на распберри паи денег не напасешься
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 08.04.2024, 23:49 | ||
|
Тем не менее есть средства управления выравниваением, что приводит к накладным расходам. Подробнее вам расскажут другие. Я чув де дзвын да не знаю де вын ))
0
|
||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||||||
| 08.04.2024, 23:51 [ТС] | ||||||
|
про выравнивание сейчас проверял
но опять же меня жто мало волнует я то ориентируюсь на размер из sizeof() а он работает с выравненными данными, так что без разницы. но вот с точки зрения полноты - раз уж все равно 4 байта, тогда можно и другой тип использовать более широкий. Добавлено через 51 секунду а вот интересно если я передаю с одного устройства на другое, и у них разное выравнивание - то получится - что не получится. значит надо использовать заведомо данные которые ... выравниваются одинаково. это тоже спасибо, ни разу про такое ни слышал.
0
|
||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 08.04.2024, 23:57 | ||
|
Я же писал, зависит от многих факторов, в соновном от архитектуры.
Можно указать делать выравнивание по определенному количеству байтов. Для архитектур с байтовой адрессацией, можно убрать выравнивание. В остальных я не знаю. Смотрите #pragma push/pop Добавлено через 2 минуты Когда вы получите указатель на вашу структуру, вы не можете знать на каких смещениях находятся данные.
0
|
||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|
| 08.04.2024, 23:57 [ТС] | |
|
пардон, все одинаково
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 09.04.2024, 00:02 | |||
|
pup_kin, вы опять невнимательно читаете
![]() У меня к вам вопрос: вы читать что-нибудь серьезное собираетесь, или думаете, что сможете ядерный реактор на форумной информации собрать? ![]() Добавлено через 2 минуты Вот:
0
|
|||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|
| 09.04.2024, 00:09 [ТС] | |
|
0
|
|
| 09.04.2024, 00:09 | |
|
0
|
|
| 09.04.2024, 00:13 | |
|
Не по теме: SmallEvil, например?
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 09.04.2024, 00:24 | ||
|
Но даже по ней видно как далека его практика от теории. Не говоря уже о пррямой приведенной вами ссылке. Которую найти на данный момент не получилось. Наэтом форуме поиск это ещё тот АД. Тема была про копирующие операторы. То есть, много чисто теоретической шелухи. Не люблю таких теоретиков под маской професионалов.
0
|
||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||
| 09.04.2024, 00:29 [ТС] | ||
|
Но 1С это более менее победило - ввело сертификацию, не везде конечн, в селах про это ни слыхивали, главное чтобы адинесник умел менять картридж в принтере ![]() а я вот не понимаю для чего читать книги каких-то авторов, если есть стандарт языка или стандарт языка это про другое? Существует ли в С++ какой-то единый признанный столп Титанов скажем так или оффициальные рекомендации с разъяснениями.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 09.04.2024, 00:50 | ||||
|
К тому же в книгах, даже по базовому ЯП добавляют самые простые алгоритмы и их испоьзования в опиисываемом языке. Чего точно нет в чистом стандарте. Добавлено через 2 минуты И т.д., думаю автор поста приведенных книг, может больше меня опиисать их полезность. Добавлено через 2 минуты pup_kin, все книги приведенные выше, уже учитывают то что вы знаете С++ на среднем уровне (и это довольно серьезный уровень знаний).
0
|
||||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||||||||||||
| 09.04.2024, 01:50 [ТС] | ||||||||||||
|
тоже работает
чем плохо
т.е. всегда лучше на всякий случай писать new(объект)новоеЗначение? т.е. new сравнит левую и правую части гарантированно?
0
|
||||||||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||
| 09.04.2024, 07:31 | |||
|
Конечно нет, иначе такого вопроса у вас не возникло бы. Вы того, почитайте, он доступен публично. Ну чтобы проникнуться. Добавлено через 4 минуты Потому как её использование - это непрогнозируемые лаги по времени (проблема именно в их непрогнозируемости, а не в том большие эти лаги или нет), плюс памяти и так мало в контроллере, а потому тратить её на фрагментированную кучу непозволительная роскошь, плюс гарантия нестабильной работы устройства на больших временных промежутках (опять же из-за дефрагментированности; данные могут сложиться так, что куча деградирует - и памяти неоткуда будет взять, экскаватор перестанет слушаться рычагов управления со вытекающими). И да, std::string - это динамическая память. В общем там надо все попроще фигачить, кондовее, без выпендрёжей; да и не нужны все эти выпендрёжи для решения тех задач, которые в контроллеры умещаются.
0
|
|||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||
| 09.04.2024, 09:47 | ||||
|
Поэтому в профессионализме его усомниться трудно. Другое дело где и когда он о чем-то говорил и, возможно, ошибался. Если такое было, то этот конкретный случай и надо обсуждать. Какие-то пространные разговоры "нравится-ненравится" малоконструктивны. Стандарт C++ явным образом такой обозначает как UB, работает он при этом в вашем конкретном случае или нет - не важно с точки зрения языка. Ну и про правила алиасинга не нужно забывать. https://en.cppreference.com/w/... rpret_cast https://habr.com/ru/companies/... es/442554/ https://habr.com/ru/companies/... es/443602/ Отдельно отмечу, что вы можете его использовать, если для вас не является тайной его некорректность и вы представляете и осознаете все условия и ограничения. Т.е. если вы, как профессионал, считаете, что UB в вашем коде допустимо, что вы предвидели все возможные последствия, то пожалуйста, используйте на здоровье. Однако многие просто лепят такое по умолчанию, а единственная мотивация - "у меня всегда это работало".
0
|
||||
|
2689 / 1346 / 485
Регистрация: 08.11.2016
Сообщений: 3,734
|
||||
| 09.04.2024, 09:48 | ||||
|
0
|
||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 09.04.2024, 09:53 | |
|
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 09.04.2024, 09:56 | |
|
0
|
|
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|||
| 09.04.2024, 19:42 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
| 09.04.2024, 19:42 | |
|
запрет шаблонов С++ использование шаблонов Реализация шаблонов Функции-шаблонов Специализация шаблонов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
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-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|