我知道我最近创建了类似的主题,但现在我的问题有点不同。
这样做是否合法:
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);
那样一切都会好吗(任何内存泄漏等)?我使用宽字符串是因为我只需要这些字符:ąśżźćłóńę 和 ĄŚŻŹĆŁÓŃĘ。