Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток! Я сам не Сишник, только пытаюсь переквалифицироваться, а потому столкнулся с проблемой, которая поставила меня в тупик: определения размера динамического массива. Поковырял Гугл, ничего толкового нет. Кто во что горазд Может кто подскажет? Вот конкретный простой пример. Код: plaintext 1. 2. Никогда бы не подумал что споткнусь на таком. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 11:08 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnix, Если кратко - такого способа нет. Используйте std::vector или таскайте в отдельной переменной размер массива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 11:21 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Не, мне нужно именно размер динамического массива. Вектор мне не нужен. В этом то вся и затыка. У меня функция формирует массив структур, помещает в память и возвращает указатель. А уже остальные над этими данными глумятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 11:30 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Сразу вопрос в догонку, как в VC посмотреть содержимое динамического массива? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 11:45 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnix, Либо пусть возвращает shared_ptr на вектор, либо размер массива в дополнение к массиву, сказано же. Пока не вижу проблемы ни с первым, ни со вторым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 11:46 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnixСразу вопрос в догонку, как в VC посмотреть содержимое динамического массива?Посмотреть выражение вида dynamicArray[17] - это тот способ, о котором известно мне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 11:47 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Ладно, как определить размер динамического массива я разобрался. Все просто: Код: plaintext 1. 2. 3. 4. А как посмотреть содержимое массива? Вот затыка то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 11:48 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Неужели никто из профи не может ответить на такой простой вопрос.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:10 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnixЛадно, как определить размер динамического массива я разобрался. Все просто: Код: plaintext 1. 2. 3. 4. А как посмотреть содержимое массива? Вот затыка то... Вам же уже сказали, нет способа определить размер динамического массива. MSDN size_t _msize( void *memblock ); Returns the size of a memory block allocated in the heap. Remarks The _msize function returns the size, in bytes, of the memory block allocated by a call to calloc, malloc, or realloc. ... Он возвращает размер выделенного блока памяти, где находится динамический массив, а не размер памяти самого массива. Они могут отличаться. Ну и функция непереносима, естественно. Впрочем, возможно для ваших целей это подойдёт. Посмотреть содержимое можно легко -- преобразовать адрес в (unsigned char *) и распечатать побайтно блок нужного размера. То же самое можно сделать в отладчике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:17 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Да... а у меня все замечательно работает и правильно определяется.... наверно у меня кривой Вижуал Студио... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:21 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Кстати, если мне не изменяет память и емкость всего блока разделить на емкость одного элемента блока то получим размер массива... Пойду посмотрю школьные учебники, вдруг я ошибаюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:25 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
опять же когда пишем Код: plaintext 1. то удаляем весь массив, емкость которого где-то хранится... значит ее можно узнать и теоретически и практически.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:29 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnixто удаляем весь массив Удаляем не массив, удаляем выделенный кусок памяти. Он может быть больше массива из-за округления до блока. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:37 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Обычный вопрос обнажил проблему элементарного незнания "бывалых" сишников в вопросах динмических массивов и бодание на предмет кто круче и нахрена вам это нужно. СПАСИБО НЕ НАДО!!! Я ХОЧУ РЕШИТЬ СВОИ ПРОБЛЕМЫ.... БОДАЙТЕСЬ С ДРУГИМИ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:40 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:40 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnixКстати, если мне не изменяет память и емкость всего блока разделить на емкость одного элемента блока то получим размер массива... Пойду посмотрю школьные учебники, вдруг я ошибаюсь Блок может быть большего размера, чем нужно для массива. Потом, ты исходишь чисто из своих практических соображений, а мы тут говорим о проблемах с точки зрения языка. В C/С++ таких средств нет. VC традиционно всегда хранил размер буфера (как и многие другие компиляторы) и ему даже можно было путать delete и delete []. Работает у тебя в твоём коде msize -- ну, славно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:45 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
авторзначит ее можно узнать и теоретически и практически.... Теоретически, как уже сказано, можно узнать размер выделенного блока . Практически в стандарте средств для этого не оговорено, так что даже для этого способ может существовать только для какого-то конкретного компилятора и конкретной версии runtime (при том, что Вы их в первом посте не назвали, Ваши претензии выглядят достаточно странно). То есть, язык C++ как таковой "настаивает" на том, что Вам не следует выяснять размер массива таким образом. Если у Вас это вызывает только приступы смеха - дело Ваше. По аналогичной причине в Studio, насколько мне известно, нет удобного способа увидеть все элементы динамического массива в отладчике так же, как показываются элементы массива статического. Один способ, не слишком удобный, но практически обычно удовлетворительный, мной уже был приведён: потребовать вычислить выражение array[i] или array[2] или что ещё нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:49 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Вопрос исчерпан. По началу я был восхищен языком С++ после Паскаля... Но как оказалось прикладные задачи ВЫГОДНЕЕ решать на нем... Там нет таких проблем вообще. Но проблема у меня именно в том что НЕОБХОДИМО реализовать алгоритм на VC. Хотя должен сказать С++ начал мне нравиться больше Паскаля... как ни странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 12:58 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnixДа... а у меня все замечательно работает и правильно определяется.... наверно у меня кривой Вижуал Студио... Есть популярная шутка про поломанные часы которые дважды в сутки могут внезапно (!) показать правильное время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 13:51 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnixВопрос исчерпан. По началу я был восхищен языком С++ после Паскаля... Но как оказалось прикладные задачи ВЫГОДНЕЕ решать на нем... Там нет таких проблем вообще. Но проблема у меня именно в том что НЕОБХОДИМО реализовать алгоритм на VC. Хотя должен сказать С++ начал мне нравиться больше Паскаля... как ни странно. Гыыыыы а при чем тут С++? Тот массив который вы используете это С а не С++. В С++ есть vector. Создатель С++ Бьярн Страуструп рекомендует пользоваться векторами. Смысл С++ в том, что бы на нам было легче программировать чем на С, а вы в своем коде отказываетесь от С++ а затем сокрушаетесь о том, что С++ хуже паскаля ))))) Прямо смешно читать )))) Я уже забыл когда я последний раз использовал массивы из С, я думал, что их сейчас уже никто и не использует и тут вдруг обнаруживается, что их не только использует, но еще и судят по ним о достоинствах и недостатках С++ ) "Наш век беспокойства в значительной мере является результатом попыток выполнить сегодняшнюю работу вчерашними средствами..." - Маршал Мак-Люган ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 15:00 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnix, если вы хотите создавать программы на С++, то изучайте и используйте С++ а не С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 15:02 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnixВсем доброго времени суток! Я сам не Сишник, только пытаюсь переквалифицироваться, а потому столкнулся с проблемой, которая поставила меня в тупик: определения размера динамического массива. Поковырял Гугл, ничего толкового нет. Кто во что горазд Может кто подскажет? Вот конкретный простой пример. Код: plaintext 1. 2. Никогда бы не подумал что споткнусь на таком. Заранее благодарен. А тебе интересно, почему людям пишущим прикладной код на С++ даже в готову не приходит решать такие задачи? Ответ очевиден: они используют уже стандарные или самописные контейнеры, которые как раз таки призваны снять с плеч прикладного программиста подобного рода задачи: Код: plaintext 1. 2. 3. 4. 5. 6. 7. А то что ты называешь "динамическим" массивом, является им лишь в той мере, что он выделяется в хипе, но не может похвастать тем, что может подстраивать свою емкость под нужды клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 15:09 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Я уже говорил, бодаться ни с кем не собираюсь потому как другие более важные дела есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 16:04 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnixЯ уже говорил, бодаться ни с кем не собираюсь потому как другие более важные дела есть. Просто может статься так, что ты микроскоп для забивания гвоздей используешь, поэтому, наверное, будет правильно задавать другого рода вопросы: а как лучше? а как правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 16:28 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Анатолий Широков, будьте терпимее. Аудитория здесь - самая различная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 16:32 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnix, тебе повезло попасть в один из лучших форумов рунета. Разумеется на все вопросы тебе тут не ответят и не все хотелки воплотят но ты имеешь уникальную возможность привлекать специалистов высокого класса (реально) к решению проблем БЕСПЛАТНО. Другого форума с лучшим фидбэком ты не найдешь. Я гарантирую это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 16:34 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
mayton, Да, вроде, нет в моей фразе и тени нетерпимости. Может тебе показалось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 16:43 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
mayton, Я в курсе что это один из лучших форумов Рунета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 20:50 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnixНе, мне нужно именно размер динамического массива. Вектор мне не нужен. В этом то вся и затыка. У меня функция формирует массив структур, помещает в память и возвращает указатель. А уже остальные над этими данными глумятся. Нужен. Поменьше глупости и будет нужен. Уж такие простые вещи ваши "остальные" пусть выучат, либо из С, либо из С++. В С++ узнать размер динамического массива size_t size_arr = arr.size();, узнать сколько зарезервировано памяти size_t rsize_arr = arr.capacity();, получить указатель на него auto ptr = arr.data();, а называется он вектор: std::vector<int> arr(100); и память освобождает сам, никаких delete не нужно. В C невозможно узнать размер динамического массива, можно только получить размер зарезервированной памяти: unsigned int rsize_arr = _msize(arr); - и то это нестандартная и непереносимая функция. А создается он так: int* arr = new int [10]; и в конце обязательно нужно удалять: delete arr[]; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 21:18 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Поменьше глупостиА создается он так: int* arr = new int [10]; Вот только оператора new в С нет и не было. Он тоже принадлежит С++. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 21:21 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПоменьше глупостиА создается он так: int* arr = new int [10]; Вот только оператора new в С нет и не было. Он тоже принадлежит С++. Да, привычка. Если точнее то в С: int* arr = calloc(10, sizeof(int)); free(arr); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 21:36 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Вопрос поинтересней, как узнать размер памяти выдеренный/зарезервированный под std::map/set? Перемножить кол-во элементов на их размер видимо не подойдет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2013, 21:48 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
> Вопрос поинтересней, как узнать размер памяти выдеренный/зарезервированный под std::map/set? > Перемножить кол-во элементов на их размер видимо не подойдет. custom allocator.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 01:12 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Вопрос поинтересней, мне уже твой адрес примелькался :) Ты интересные темы поднимаешь. Залогонился-б. Так ведь и общаться удобнее. Зачем носить маску Гая Фокса когда можно открыто дискутировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 01:38 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
maytonВопрос поинтересней, мне уже твой адрес примелькался :) Ты интересные темы поднимаешь. Залогонился-б. Так ведь и общаться удобнее. Зачем носить маску Гая Фокса когда можно открыто дискутировать? Да уж куда открытей, если ник из слов моего поста и интересную тему поднимаю - это я :) Да и потом че все с никами - надо разнообразить. Если серьезно, то так удобней обсуждать конкретную тему, а не то что где-то что-то до этого сказал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2013, 02:10 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
2 lnix: lnixВот конкретный простой пример. Код: plaintext В Visual Studio, в режиме отладки, жмём Shift + F9 (показать quick watch), вводим: Код: plaintext lnixНеужели никто из профи не может ответить на такой простой вопрос.... Как "Сыроежку" забанили, так и не осталось здесь профи... lnixПо началу я был восхищен языком С++ после Паскаля... Но как оказалось прикладные задачи ВЫГОДНЕЕ решать на нем... Там нет таких проблем вообще. В виртовском Pascal-е 70-ых годов не было динамических массивов произвольной длины. Длина каждого массива -- константа, известная во время компиляции. Если же речь о Delphi (скорее всего), то да, там есть удобные динамические массивы, и их аналог в C++ -- это std::vector, который вам настоятельно рекомендуют. 2 MasterZiv: MasterZiv Код: plaintext Я бы не стал выводить size_t через %lu, ожидающий unsigned long. Потому что, на 64-битных платформах, size_t -- 64-битный, а unsigned long -- обычно 32-битный. Вроде как начиная с C99 можно выводить size_t через %zu, но printf из msvcrt.dll так не умеет. 2 Abstraction: AbstractionПо аналогичной причине в Studio, насколько мне известно, нет удобного способа увидеть все элементы динамического массива в отладчике так же, как показываются элементы массива статического. Способ есть, см. выше, только надо явно указать длину массива. 2 Sheraton: SheratonЯ уже забыл когда я последний раз использовал массивы из С, я думал, что их сейчас уже никто и не использует Вполне используют. Потому что STL-контейнеры не всегда подходят. 2 гость со странным nick-ом: Поменьше глупостиА создается он так: int* arr = new int [10]; и в конце обязательно нужно удалять: delete arr[]; Точнее, так: «delete[] arr;». ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2013, 04:27 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Вопрос поинтереснейДа уж куда открытей, если ник из слов моего поста и интересную тему поднимаю - это я :) Да и потом че все с никами - надо разнообразить. Если серьезно, то так удобней обсуждать конкретную тему, а не то что где-то что-то до этого сказал. Раз уж модераторы подняли эту тему, то и я выскажусь. Если серьезно, то ничего удобного в этом нет. Вас уже как минимум двое таких и непонятно кому отвечаешь. О чем идет речь всегда видно по квотингу, а если вы хотите акцентировать на чем то, то прямо в тексте поста и укажите, не зачем использовать не предназначенные для этого поля. Лично меня такой стиль раздражает, даже игнорирую иногда такие сообщения. Так шо к вам просьба указывать какой-нибудь постоянный ник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2013, 06:01 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Извините, а что интересного в данном топике ? То, что неофит никак не может понять, что НЕЛЬЗЯ узнать размер динамического массива, а надо САМОМУ его хранить, тот, что выделял ? И кто ему ВНЯТНЕЕ это в мозг вдолбит ? Что тут интересного ? Интересных тем в SQL.ru уже давно нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2013, 13:37 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
На всякий случай дополню. Сабж - неинтересен. Но анонимос пишет интересно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2013, 14:47 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
lnix, Я где -то читал что размер помещается именно перед началом массива и в Visual Studio размер массива (хотя может это размер выделенной памяти ). Посмотрел память перед массивом и оказалось (на моем компе VS 2015), что размер находится на 12-ом байте перед началом массива . int* a = new int[5]{1,2,3,4,5}; unsigned char *p = (unsigned char *)a; cout << * ((int*)(p-12)) << ' ' << endl; выдаст корректное значение 20 p.s. Но это в визуал студии 2015, в других компиляторах размер может быть совсем в другом месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 17:04 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
HappyGoodManПосмотрел память перед массивом и оказалось (на моем компе VS 2015), что размер находится на 12-ом байте перед началом массива . ... p.s. Но это в визуал студии 2015, в других компиляторах размер может быть совсем в другом месте. Замечательный способ отстрелить себе ноги. Не надо пытаться читать ту память, которую не выделял. Завтра MS что-нибудь поменяет и перед твоим массивом вообще реальной памяти не окажется, вылетишь с исключением. Причем перестанет работать прога, которая стабильно работала годами и не менялась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 17:21 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Dima T, авторЗамечательный способ отстрелить себе ноги. Не надо пытаться читать ту память, которую не выделял. Завтра MS что-нибудь поменяет и перед твоим массивом вообще реальной памяти не окажется, вылетишь с исключением. кажется я в постскриптуме написал, что это только в компиляторе vs 2015 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 17:55 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
HappyGoodManкажется я в постскриптуме написал, что это только в компиляторе vs 2015 Это может произойти даже в EXE откомпилированном в vs 2015 PS Зачем такое вообще писать? Стреляй себе в ноги, но зачем других этому учить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 18:49 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Dima T, авторЗачем такое вообще писать? Стреляй себе в ноги, но зачем других этому учить? Это ответ по сабжу, причем это работает, да ужасно ограниченно, но работает. И чтобы знать как не надо делать, как пример вполне пойдет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2017, 18:59 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
HappyGoodManp.s. Но это в визуал студии 2015, в других компиляторах размер может быть совсем в другом месте.По-моему, оно там ещё в VC6.0, но это было давно, и мне кажется, что это было -8 Dima TPS Зачем такое вообще писать? Стреляй себе в ноги, но зачем других этому учить?Да, есть функция _msize, которая сама знает, где брать размер смещения, и всегда правильно считает размер :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 05:19 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
CEMb, авторДа, есть функция _msize, которая сама знает, где брать размер смещения, и всегда правильно считает размер :) В msdn написано, что она заточена только под calloc, malloc, или realloc, а насчёт new ничего не сказано, но я проверил вроде работает и для памяти выделенной с помощью new. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 12:08 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
HappyGoodManВ msdn написано, что она заточена только под calloc, malloc, или realloc, а насчёт new ничего не сказано, но я проверил вроде работает и для памяти выделенной с помощью new.Потому что new по умолчанию выделяет память с помощью malloc(из msvcrt*.dll, void* operator new...), потом зовёт конструктор. Но так может быть не всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 12:34 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
переопределите new - а там посмотрим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 18:13 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Изопропилпереопределите new - а там посмотрим Переопределять не обязательно, можно проще поломать Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2017, 19:39 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Dima TЗамечательный способ отстрелить себе ноги.Ты любой реверс-инжениринг называешь "отстрелить себе ноги"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 05:59 |
|
||
|
Размер динамического массива
|
|||
|---|---|---|---|
|
#18+
Common LispDima TЗамечательный способ отстрелить себе ноги.Ты любой реверс-инжениринг называешь "отстрелить себе ноги"? Я конкретно про этот случай писал. За все на свете отвечать не готов. По существу есть что сказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2017, 20:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2018207]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 309ms |

| 0 / 0 |
