Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Как узнать размер буфера/массива? |
Автор: vitlic 21.4.2007, 11:50 | ||
Пишу класс BitSet. Один из конструкторов выглядит так:
Вопрос такой можно ли узнать размер dataP? // strlen не подходит, так как в BitSet могут быть любые значения, даже 0. Как это работает в компиляторе, ведь там это должно как-то отслеживаться, может через таблицы или структуры какие-нибудь. Если да, то можно ли проверять значения через них? |
Автор: JackYF 21.4.2007, 12:14 |
vitlic, уже была подобная тема. Воспользуйся поиском. А если кратко, то есть нестандартные непереносимые функции.... Зачем тебе? Тебе вон пользователь size передает. |
Автор: vitlic 21.4.2007, 12:21 | ||
Нашел, но не совсем то. Даже совсем не то. А если юзверь передал размер не соответствующий размеру буфера? Максимум, что я могу сделать это:
К примеру size ошибочен, то это может привести к проблемам в memcpy. Но если выход нестандартные, непереносимые функции, то уж лучше так. пасиб. |
Автор: vinter 21.4.2007, 12:35 |
ну так исключи эту ситуацию! зачем извращаться когда, моно ситуацию исключить? |
Автор: vitlic 21.4.2007, 12:46 | ||
Что значит исключить? Типа внимания не обращать и будь что будет? |
Автор: vitlic 21.4.2007, 13:00 | ||
Значит оставлю вот так:
Пусть юзеры наслаждаются своими ошибками) Снова всем спасибо ![]() |