|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|||||||||||
Массив шаблонов30.03.2024, 16:40. Показов 4359. Ответов 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
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
|||
| 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
|
|||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
||||
| 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
|
||||
|
2684 / 1343 / 483
Регистрация: 08.11.2016
Сообщений: 3,721
|
||||
| 09.04.2024, 09:48 | ||||
|
0
|
||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 09.04.2024, 09:53 | |
|
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
|
| 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 | |
|
Помогаю со студенческими работами здесь
80
запрет шаблонов С++ использование шаблонов Реализация шаблонов Функции-шаблонов Специализация шаблонов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible". . .
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|