我只是想將我的存檔中保存的一些舊的C++源代碼移植到iOS中,從而提供一個ObjC GUI,使用一些C++東西的包裝並保留重要數據在C++代碼中工作的東西。所以,問題是,舊的來源來自Win32 MFC,因此使用CString類的字符串,我想用Joe O'Leary的CStdString替換它,這是一個C++模板類,它會做得很好......但:在多個源代碼中將ObjC和C++與C++模板類混合使用
我必須使用字符串類定義以及大量不同的C++源代碼,因此它們每個都將包含CStdString模板。通常我會爲整個字符串類編寫一個包裝器,但如果我不需要,則會更好。
我會在實例化不同來源的字符串時遇到問題嗎?能否將一個模板化的字符串從一個源傳遞到另一個源?事實上,我不知道編譯器是否只爲模板生成一次或多次模板的代碼,而事實上該模板使用了相同的實例化類型。
你可以填補這一點?
謝謝...
你好Mr.Gando,這聽起來真不錯:-)因此,這意味着的std ::這是基類CStdString的確可以在同一個項目,因爲這是建立只有一次在代碼中包含不同來源的字符串? - 您的最後忠告:好的,在此期間,我很熟悉的對象 - 但不應該意味着我願意重寫工作的C++代碼;-) – konran 2011-03-25 21:23:27
我同意的數量較大,便攜性也是很好的論據。您可以嘗試在您的xcode項目中刪除CString,看看會發生什麼。如果它依賴於Windows的東西,事情可能會出錯。讓我知道事情的後續。 – Goles 2011-03-25 23:04:19
好吧,我把你的多,申請模板註釋掉點包括爲YES ;-) 我的測試是不符合一大堆CPP來源,這將需要更多的時間。到現在我可以說,我可以在typedef定義CString的下降沒有編譯器錯誤,無泄漏(分析儀和儀器),我得到不錯的結果是這樣 回覆:) - :.thgir OT薄膜電致發光MORF gnirts lamron一個SI SIHT – konran 2011-03-25 23:51:55