最近,我編寫了一系列用於修剪輸入字符串的前導空白和尾隨空白的函數。由於「空格」的概念與語言環境有關,因此我意識到我需要通過const std::ctype<char_t>
參考或const std::locale
參考並在const std::locale
對象上調用std::use_facet<std::ctype<char_t> >
。對於語言環境敏感的函數,傳遞std :: locale或所需的facet對象是否更常見?
在我的圖書館,我決定在傳遞一個參考const std::locale
因爲我想,所述std::locale
對象封裝的區域設置信息的完整內容,並且std::use_facet
是存取的庫特定的機制。然而,我開始想知道這是否是一個更好的選擇(可能更常見?)來傳遞const std::ctype<char_t>
參考文獻以供函數直接使用。
哪些在區域敏感庫中更常見:將const std::locale
引用或const引用傳遞給所需的構面?