gpt4 book ai didi

boost - 根据 typedef 可以是 wcout 的通用 cout

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:31 27 4
gpt4 key购买 nike

我有一个 typedef char char_t 也可以是 typedef wchar_t char_t 而我想要的是一个通用的 cout
我有一个 util 命名空间 我想要一个 util::cout 如果 char_tstd::cout charstd::wcout 如果 char_twchar_t

最佳答案

是的,没问题;您可以使用包含对适当对象的 static 引用的模板特化来做到这一点。

template<typename T> struct select_cout;

template<> struct select_cout<char> { static std::ostream &cout; };
std::ostream &select_cout<char>::cout = std::cout;

template<> struct select_cout<wchar_t> { static std::wostream &cout; };
std::wostream &select_cout<wchar_t>::cout = std::wcout;

std::basic_ostream<char_t> &cout = select_cout<char_t>::cout;

关于boost - 根据 typedef 可以是 wcout 的通用 cout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11967051/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com