????C++ Const?????
???????????? ???????[ 2016/1/29 10:24:15 ] ????????.NET ???????????
?????????C++????????????
????1 CString MyClass::GetStringValue() const
????2 {
????3 ????return m_strValue;
????4 }
???????????????и?????e??????????ж?????????????????
????CString MyClass::GetStringValue() const
????{
????if(m_strValue.IsEmpty())
????SetStringValue();
????return m_strValue;
????}
?????????????????????и?????const???????治????÷?const??????
???????????????????
????error C2662: “MyClass::SetStringValue”: ?????“this”?????“const MyClass”????“MyClass &”
??????????????????????????????????????????????????????this???????????????const ????????????????????const??????????????????????????????????
????CString MyClass::GetStringValue(const MyClass* this)
????{
????if(this->m_strValue.IsEmpty())
????this->SetStringValue();
????return this->GetStringValue();
????}
?????????????£??????????static?????????£?
????CString MyClass::GetStringValueS(const MyClass* mcp)
????{
????if(mcp->m_strValue.IsEmpty())
????mcp->SetStringValue();
????return mcp->GetStringValue();
????}
????????????????????????
????error C2662: “MyClass::SetStringValue”: ?????“this”????“const MyClass”????“MyClass &”
???????????????????const????
????CString MyClass::GetStringValue()const
????{
????MyClass * nonconstthis = (MyClass *)this;
????if(m_strValue.IsEmpty())
????nonconstthis->SetStringValue();
????return m_strValue;
????}
???????????????????????????
????????????????const_cast<>????????????????飺
????CString MyClass::GetStringValue()const
????{
????if(m_strValue.IsEmpty())
????const_cast<MyClass *>(this)->SetStringValue();
????return m_strValue;
????}
?????????????????Υ????const???????????????????????????????Υ?????????????????????????????????á?
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11