Как стать автором
Обновить

Комментарии 5

спасибо за статью. а схему String -> wstring -> String можно реализовать также как в первой части статьи?

Здравствуйте, простите меня за мой непрофессионализм в c/c++, но вопрос я не понял.
Насколько я знаю, wstring в плюсах используется для unicode строк, а string для ASCII строк. Но какое это отношение имеет к моей серии статей? :)
Попробуйте переформулировать вопрос, больше деталей. Возможно я, или кто-то из сообщества даст ответ.

Насколько я знаю, wstring в плюсах используется для unicode строк, а string для ASCII строк

Не совсем верно (а точнее, совсем не верно). string и wstring никакого отношение к кодировкам и символам не имеют. Это просто массив байтов (char) либо значений wchar_t. То, в какой кодировке закодированы (простите) эти байты (или значения wchar_t если кодировка это позволяет) зависит только от того как вы их используете (их содержимое также может в принципе не быть текстом).

Например, если вы получаете пользовательский ввод от системы в виде байтов и сохраняете его в string, то ее кодировка будет зависит от системы и ее конфигурации. На юниксах обычно будет UTF-8, а на windows локальная 8-битная кодировка (например CP-1251). Но в обоих случаях возможны любые варианты.

Более того wchar_t на разных платформах имеет разный размер так что wstring в принципе имеет смысл использовать только коде завязанном на windows.

Также по этой причине wstring нельзя использовать для java String в кросс-платформенном JNI коде потому что размер jchar фиксирован (16 бит) а wchar_t - нет.

Спасибо, очень интересно. А вопрос, в Qt (С++) есть сигналы и слоты. Их можно как-то связять с JNI?

Возник такой вопрос можно ли передать лямбду параметром native метода и есть ли в этом смысл (в первую очередь в плане производительности)?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий