【问题标题】:C++14: Default values in tuple when returning {}C++14:返回 {} 时元组中的默认值
【发布时间】:2019-12-29 21:55:01
【问题描述】:

考虑:

std::tuple<bool, double, int> getTuple()
{
    return {};
}

在这种情况下,标准对结果元组中的值有何规定?是否保证例如bool 总是假的?

【问题讨论】:

  • 我猜是的,因为this,但这是假设元组使用像这样的默认构造函数。

标签: c++ c++14 stdtuple


【解决方案1】:

tuple 的默认构造函数被指定为对所有元素进行值初始化,参见cppreference link 中的案例 1。

简而言之,值初始化与元素由{} 初始化是相同的(我省略了一些极端情况)。对于原始类型,这意味着 boolfalsedouble0.0int0

【讨论】:

    猜你喜欢
    • 2010-09-26
    • 2022-08-17
    • 2013-01-19
    • 2021-02-09
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    相关资源
    最近更新 更多