这是我写的一个编译时的函数,变长参数比上面那个还稍微复杂点。
template<std::size_t N>
constexpr auto make_translation_map(const wchar_t* const (&arr)[N]) {
static_assert(N % 2 == 0, "...");
constexpr std::size_t PairCount = N / 2;
return[&arr]<std::size_t... I>(std::index_sequence<I...>) {
return frozen::make_unordered_map<frozen::wstring, frozen::wstring, PairCount>(
std::array{
std::make_pair(
frozen::wstring(arr[2 * I]),
frozen::wstring(arr[2 * I + 1])
)...
}
);
}(std::make_index_sequence<PairCount>());
}
【 在 buildtolast 的大作中提到: 】
: 我当然能看懂,但是如果我没看,一定写不出。
:
--
FROM 171.221.52.*