Комментарии 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 метода и есть ли в этом смысл (в первую очередь в плане производительности)?
JNI Часть 2: Примеры