|
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
|
||||||
Как определить, является ли переменная встроенным массивом?01.05.2017, 01:34. Показов 3984. Ответов 27
Метки нет (Все метки)
Здравствуйте, прошу прощения за странное название темы, никак в голову ничего не влезет путного.
Сразу к делу. Есть функция шаблонная. В ней я бы хотел определить, является ли тип параметра встроенным массивом чего-либо. Вот:
delete ptr; иметь еще возможность delete[] ptr;, но не знаю, чего сделать, чтобы выявить, указывает ли ptr на массив Type или просто на переменную.Короче, мне надо отличать Type[]* от Type*.Я думал об извлечении базового класса у ptr и сравнением typeid() извлеченного типа с typeid(Type[]), но не знаю, как это даже сделать.Есть ли для моих целей что-нибудь удобное и (желательно) элегантное? Если есть, напишите, пожалуйста.
0
|
||||||
| 01.05.2017, 01:34 | |
|
Ответы с готовыми решениями:
27
Является ли переменная массивом? Почему переменная не является массивом Как определить, является ли переменная целым числом |
|
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,886
|
|
| 01.05.2017, 02:21 | |
|
0
|
|
|
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
|
|||
| 01.05.2017, 02:25 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 01.05.2017, 02:26 | |||||||
|
при условии, что изначальный захват ресурсов был выполнен руками std::make_shared в этом случае будет задействан паттерн type erasure. смарт будет "помнить" настоящий тип захваченного ресурса. http://rextester.com/DXYLI50335
1
|
|||||||
|
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
|
||
| 01.05.2017, 02:28 [ТС] | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||
| 01.05.2017, 02:29 | |||||||
|
ваши проверки:
можно просто сделать delete p;результат будет тот же. но без лишней проверки.
0
|
|||||||
|
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
|
||
| 01.05.2017, 02:49 [ТС] | ||
|
hoggy, да, я понял. Я перепутал удаление ничего с удалением указателя, указывающего на уже удаленную память.
Добавлено через 16 минут
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 04.05.2017, 12:45 | |
|
2
|
|
| 04.05.2017, 12:45 | |
|
Как проверить, является ли переменная числом
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|