1

我知道我最近创建了类似的主题,但现在我的问题有点不同。

这样做是否合法:

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);

那样一切都会好吗(任何内存泄漏等)?我使用宽字符串是因为我需要这些字符:ąśżźćłóńę 和 ĄŚŻŹĆŁÓŃĘ。

4

0 回答 0