以下是靜態成員函數的內聯(定義在頭文件中)。字符串「MyClass」總是保證在靜態內存中?如果沒有,這不會返回堆棧中的指針嗎?是以下未定義的行爲?
const char * className()
{
return "MyClass";
}
編輯:
這個怎麼樣?
const RWCString& className()
{
return "MyClass";
}
RWCString
是具有隱式構造,這需要一個const char*
字符串類。 http://www.roguewave.com/portals/0/products/sourcepro/docs/11/html/toolsref/rwcstring.html
我從來沒有聽說過'RWCString' ... XD但我認爲這很好,因爲構造函數將需要照顧它。 – Mysticial
@Mysticial,但函數將使用隱式構造函數創建每個調用的新RWCString。每次調用className()都會返回一個新的引用 – onof
我立即糾正。我的評論是錯誤的,因爲你不能像這樣參考。 – Mysticial