【发布时间】:2026-02-21 17:50:01
【问题描述】:
基于this问题和“Dave”提供的答案,如何专门处理非整数类型的情况来处理类型说QDate(在Qt中用于处理与日期相关的任务)?
我要专攻的功能是:
void extract(const std::string str)
{
std::bitset<sizeof(T) * CHAR_BIT> bs(str.substr(m_start, m_len));
m_data = static_cast<T>(bs.to_ulong());
}
一个 1 和 0 的 std::string 被提供给这个函数,然后基于开始和长度,我需要将它转换为包含这个函数的模板类被实例化的类型。当类型不是整数或无法使用std::bitset 生成时,它没有意义。
【问题讨论】:
-
您能否展示一个您希望为
QDate自定义行为的函数示例?根据这一点,可能不需要 SFINAE,过载可能就足够了。 -
@Praetorian 我已经添加了这个功能。
-
您应该使用
const&的str参数,而不仅仅是const,以避免不必要的复制。 -
我已经回滚了这个问题。接受一个正确的答案然后修改问题以使该答案不再正确是不好的。
-
@DrewDormann 我不是故意的。我想看看我是否正确理解了答案的重点。