|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
||||||
Ошибка деструктора - В конструкторе происходит выход за границу массива05.07.2014, 21:21. Показов 1803. Ответов 22
Метки нет (Все метки)
Доброго времени.
Добавлено через 1 минуту При удалении экземпляра класса вылетает ошибка
0
|
||||||
| 05.07.2014, 21:21 | |
|
Ответы с готовыми решениями:
22
При копировании массива происходит выход за его пределы (Ошибка 216) Выход за границу массива Выход за границу массива |
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 05.07.2014, 21:22 | |
|
14-ю строку убери.
1
|
|
|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
||
| 05.07.2014, 21:35 [ТС] | ||
|
Спасибо. Добавлено через 48 секунд Не помогло. Добавлено через 1 минуту Всё та же ошибка вылетает. Добавлено через 1 минуту Надо воздухом подышать...перепутал [] c (). Тема закрыта.
0
|
||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 06.07.2014, 11:03 | ||
|
Дополнительно: Вместо ручного выделения памяти можно рассмотреть std::vector. Это позволит например избавиться от деструктора. Странно использовать под переменную цикла поле класса. short по умолчанию и так signed. Для числа Пи есть константа M_PI Для граничных значений типа T имеет смысл использовать std::numeric_limits<T>
1
|
||
|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
||||
| 06.07.2014, 13:23 [ТС] | ||||
![]() Но спасибо за замечания, гляну что можно сделать.
0
|
||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||
| 06.07.2014, 14:07 | |||
|
Retyrn0, новые версии - это в первую очередь новые возможности и исправление ошибок и недочетов (с внесением новых конечно же
). Вообще, когда начинается разговор о скорости, надо приводить конкретные тесты, иначе всё это пустое. К тому же удивительно, что Вы замечаете разницу в скорости на тривиальных программах.Хотя случай со счетчиком немного из другой оперы, и выносить его в члены класса не стоит, так он не имеет отношения к состоянию объекта, но при этом увеличивает его размер. Меньше ручного управления памятью - меньше ошибок. Возможно Вам вообще стоило бы тогда отказаться от динамического выделения памяти, если пугает потенциальный оверхед от использования вектора.
0
|
|||
|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
|||||
| 06.07.2014, 14:20 [ТС] | |||||
|
Мне нужно в начале выделить, в конце уничтожить - всё. Это 2 строчки, здесь сложно наделать ошибок. И на утечки я проверяю, так что с этим у меня всегда был порядок)
0
|
|||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 06.07.2014, 14:51 | ||
|
Retyrn0, если счетчик имеет отношение к состоянию объекта, то он не должен использоваться как переменная цикла. Так что определиться все таки не помешает для чего же он предназначен. Вы используете значение счетчика в каком-нибудь методе после установки его в другом? Можете показать пример?
Добавлено через 1 минуту На счет разного размера массива - можно и шаблон класса сделать с размером в качестве аргумента. Без динамического выделения.
0
|
||
|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
|||||
| 06.07.2014, 15:09 [ТС] | |||||
|
0
|
|||||
|
19495 / 10100 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
||
| 06.07.2014, 15:53 | ||
|
Во-вторых, в будущем при профессиональной разработке в команде могут быть проблемы с сопровождением такого кода другими людьми. Увидит человек переменную-счетчик, а определения рядом нет. Значит какой вывод? Правильно, она где-то еще используется, и возможно является частью какого-то нетривиального алгоритма (ну он же не знает про твой хитрый план экономии переменных). И вот полезет он шерстить все методы, где еще эта переменная используется, потратит время, поругается. В целом все это довольно неприятно. Есть такой принцип - "принцип наименьшего удивления". В твоем маленьком коде это не очевидно, но когда проект на пару сотен тысяч строк - это очень серьезный фактор, когда что-то сделано не как обычно.
0
|
||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||||||||||
| 06.07.2014, 15:59 | ||||||||||||||
0
|
||||||||||||||
|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
||
| 06.07.2014, 16:22 [ТС] | ||
|
Как же объяснить то...по вашему я должен быть создать внутри конструктора переменную count1 ну или count? А зачем, если она и так есть и пока свободна?
0
|
||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||
| 06.07.2014, 16:28 | |||||||
0
|
|||||||
|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
|||||||||
| 06.07.2014, 16:28 [ТС] | |||||||||
0
|
|||||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
| 06.07.2014, 16:31 | ||||||
|
Retyrn0, не логичнее было бы сделать так?
0
|
||||||
|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
|||
| 06.07.2014, 16:34 [ТС] | |||
|
Добавлено через 2 минуты
0
|
|||
|
19495 / 10100 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|||
| 06.07.2014, 16:34 | |||
|
0
|
|||
|
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
|
|||
| 06.07.2014, 16:38 [ТС] | |||
|
Получается, что я должен отдельно от класса создать массив индексов, обрабатывать их в основном цикле? Но зачем мне тогда вообще нужен будет класс? - Создать сразу и массивы, как не объектные переменные и радоваться жизни
![]() Добавлено через 1 минуту
0
|
|||
|
19495 / 10100 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
|
|||
| 06.07.2014, 16:41 | |||
![]()
0
|
|||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 06.07.2014, 16:44 | ||
|
Однако, есть общепризнанные практики и правила хорошего тона программирования. Если их не придерживаться, будет трудно контролировать код в процессе его развития.
0
|
||
| 06.07.2014, 16:44 | |
|
Помогаю со студенческими работами здесь
20
Выход за границу массива Выход за границу массива Ошибка-выход за границу диапазона Выход индекса за границу массива Почему выход за границу массива? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|