Здравствуйте, ioctl, Вы писали:
I>Есть char*, считанный из сокета. В момент его зачитывания его размер известен.
I>Есть ли возможность завернуть его во что нибудь стандартное, с методом size() или length()?
std::span
I>Есть vector, но с ним придется копировать память, чего не хотелось бы. I>Есть ли что нибудь, что позволяет обернуть указатель?
Здравствуйте, ioctl, Вы писали:
I>Есть char*, считанный из сокета. В момент его зачитывания его размер известен.
I>Есть ли возможность завернуть его во что нибудь стандартное, с методом size() или length()?
std::string_view? C++17
Здравствуйте, Igore, Вы писали:
I>>Есть ли возможность завернуть его во что нибудь стандартное, с методом size() или length()? I>std::string_view? C++17
Классная штука, а нет ли такого же для числовых типов данных?
Здравствуйте, ioctl, Вы писали:
I>Здравствуйте, Igore, Вы писали:
I>>>Есть ли возможность завернуть его во что нибудь стандартное, с методом size() или length()? I>>std::string_view? C++17
I>Классная штука, а нет ли такого же для числовых типов данных?
Здравствуйте, ioctl, Вы писали:
I>Есть char*, считанный из сокета. В момент его зачитывания его размер известен.
I>Есть ли возможность завернуть его во что нибудь стандартное, с методом size() или length()?
I>Есть vector, но с ним придется копировать память, чего не хотелось бы.
Тебе все равно нужен буфер, куда читать из сокета. Вот и читай прям в буфер вектора, он так умеет, насколько я помню. Аллоцируй с запасом, а потом обрезай длину до реально прочитанной — это не приводит к реаллокации буфера.
Здравствуйте, rg45, Вы писали:
Pzz>>Аллоцируй с запасом, а потом обрезай длину до реально прочитанной
R>Можно просто сериализовать размер перед данными и резервировать потом буфер точного размера.
Не знаю, о чем ты говоришь, но чтобы узнать количество доступных данных до их фактического вычитывания, понадобится лишний системный вызов.
Здравствуйте, Pzz, Вы писали:
Pzz>Не знаю, о чем ты говоришь, но чтобы узнать количество доступных данных до их фактического вычитывания, понадобится лишний системный вызов.