我正在將一個Objective-C應用程序移植到C++,並且在任何一種語言中都是相當新的。在我正在處理的類中,有相當多的字符串文字NSString
或指向字符串NSString *
的指針。什麼是C++中那些字段的最佳等效值:std::string
,std::string *
或const char *
?在C++中,objective-c NSString *的最佳等價物是什麼?
最初,我認爲std::string
更像C++ - 而const char *
更像C,所以我應該使用前者。我的同事說,後者是首選,因爲它更快,更輕,並且不涉及複製。但是,如果我應將std::string
作爲參考在構造函數中作爲參考const std::string & param
,它將被複制一次。
對我來說,選擇相當於NSString *
的最佳選擇是什麼?
非常感謝您的回覆。
這是關於NSString是不可變的一個好處。 –