char buf[10] = "some_text";
printf("%d", _msize(buf));
_msize и sizeof
В функцию передается аргумент - указатель.
Как внутри функции ПРАВИЛЬНО получить размер блока?
Если память выделялась через malloc(new) _msize работает верно, если же, к примеру:
Код:
КАК распознать что передается в функцию?
2. sizeof - не функция.
3. Передаешь указатель на блок памяти, передавай и размер этого блока.
4. Если пишешь на С++, используй ООП. Оберни свой буфер соотв. классом, который будет заниматься менеджментом этого буфера. Ну или использую уже готовые контейнеры.
я остановился на четвертом варианте. спасибо :о)
здесь выделение не в heap, а локально, поэтому и не работает