1
是否可以在C++中的基本類型之間提供自定義隱式轉換?C++基本類型之間的自定義轉換
具體來說,我有具有的Xerces-C庫:
using XMLCh = unsigned short int;
不過,當然沒有辦法提供一個字符串作爲unsigned short int
。所以我想一些這樣的:
operator unsigned short int*(char16_t* s) { return reinterpret_cast<unsigned short int*>(s); }
operator char16_t*(unsigned short int* s) { return reinterpret_cast<char16_t*>(s); }
這則讓你說:
XMLCh *str = u"Hello, world.";
和:
DOMElement* pEl = ...;
std::u16string str = pEl->getNodeName();
等。就目前而言,我將不得不將所有的Xerces調用都包含在一個轉換函數中 - 醜陋!
謝謝。我知道。你能建議一種方法來實現我想要實現的目標嗎? – Tom 2014-09-19 07:14:24