Я знаю, что недавно создал подобную тему, но теперь мой вопрос немного другой.
Законно ли это делать:
1)
CORBA::WString_var value;
const ::CORBA::WChar* v = L"ąśżźćłóń";
value = CORBA::wstring_dup(value);
2)
class WCharStuff
{
private:
CORBA::WString_var value;
public:
void setVal(const ::CORBA::WChar* val)
{
this->value = CORBA::wstring_dup(value);
}
::CORBA::WChar* getVal()
{
return CORBA::wstring_dup(this->value.in());
}
};
WCharStuff obj;
const wchar_t *v = L"ąśżźćłóń";
obj.setVal(v);
3)
class WCharStuff
{
private:
CORBA::WString_var value;
public:
void setVal(const wchar_t* val)
{
this->value = CORBA::wstring_dup(val);
}
::CORBA::WChar* getVal()
{
return CORBA::wstring_dup(this->value.in());
}
};
WCharStuff obj;
CORBA::WChar* v = L"ąśżźćłóń";
obj.setVal(v);
Будет ли все в порядке (утечки памяти и т. Д.)? Я использую широкие струны, потому что
я нуждаюсь только эти персонажи: ąśżźćłóńę и ĄŚŻŹĆŁÓŃĘ.
Задача ещё не решена.
Других решений пока нет …