Как обернуть простой буфер символов с помощью std::string или его эквивалента?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как обернуть простой буфер символов с помощью std::string или его эквивалента?

Сообщение Anonymous »


Мотивация:

Я использую некоторую библиотеку (которую я не контролирую) со следующей функцией:

char* foo(/*здесь некоторые параметры */); Который возвращает очень длинную строку с нулевым завершением. Теперь я хочу использовать эту функцию

void bar(const std::string& s); который доступен в другой библиотеке, которую я использую (то есть я не контролирую сигнатуры ни одной из этих функций). Я хочу передать результат foo() в bar(), не копируя его.

Вопрос:

Я хочу обернуть непрерывный буфер символов строковым объектом, чтобы его можно было передать как const std::string&. Как мне это сделать?

Примечания:
[*]Я понимаю, что это может не понравиться, но я все равно хотел бы это сделать, если это возможно. [*]Да, это может быть неуместно, или некрасиво, или слишком C-подобно, но это то, что мне (думаю, мне) нужно сделать. [*]Комментарии к ответам предполагают, что наследование std::string не является вариантом, поскольку у него нет соответствующих виртуальных методов. По сути, нам приходится предполагать некоторые вещи о реализации (или писать разный код для разных реализаций) и «создавать вручную» экземпляр std::string. Таким образом, вопрос, похоже, в том, как это сделать.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • `std::map<std::string, enum{1, 2, 3, 4}>` (или std::map<std::string, tuple<bool, bool>>`) кэширует` против `std: :set<st
    Anonymous » » в форуме C++
    0 Ответы
    317 Просмотры
    Последнее сообщение Anonymous
  • Назначьте ввод Map> выходу Map>
    Anonymous » » в форуме JAVA
    0 Ответы
    123 Просмотры
    Последнее сообщение Anonymous
  • Конвертировать Map > для списка > используя API потока
    Anonymous » » в форуме JAVA
    0 Ответы
    96 Просмотры
    Последнее сообщение Anonymous
  • Std: Переместите std :: string из std :: deque then std :: deque :: pop_front?
    Anonymous » » в форуме C++
    0 Ответы
    65 Просмотры
    Последнее сообщение Anonymous
  • Std: Переместите std :: string из std :: deque then std :: deque :: pop_front?
    Anonymous » » в форуме C++
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»