C ++是否在std :: min和std :: max下标准化std :: optional的行为?

时间:2017-08-02 20:46:39

标签: c++ max min c++17 stdoptional

我没有安装最新的编译器来获得最终std::optional语义的含义。但是在C ++ 14中,有以下内容:

#include <experimental/optional>
#include <algorithm>

int main()
{
    using oint = std::experimental::optional<int>;
    int x = std::max(1, 2);
    auto oy = oint{3};
    auto z = std::max(x, oy);
}

无法编译。现在,在将来,我希望/希望z在这种情况下获得3;如果oy = oint{},则z可以获得2

类似于我期望在C ++ 17中标准化的东西,或者稍后提出用于标准化的东西?或者, undefinability 标准化(就像在C ++ 14中那样)?

注意:这里的动机可能是我自己实现的东西,对于C ++之前的17代码;如果计划将某些相关内容标准化,我会尝试匹配。

1 个答案:

答案 0 :(得分:3)

  

类似于我期望在C ++ 17中标准化的东西

没有

  

,或建议以后标准化?

mailings中没有任何此类提案。

虽然当然有很多简单的解决方法,但这样的建议没有什么理由:

{
  entry: {
    app: './src/app.js',
    config: './src/config.js'
  },
  output: {
    filename: '[name].js',
    path: __dirname + '/dist'
  }
 }

可能还有其他人。前两个不能给你一个悬空参考,最后四个可以。