作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力使我的程序成为多平台的,最初是为 Linux 编写的。 MSVC(我使用的是 19.28)被告知从版本 19.20(https://en.cppreference.com/w/cpp/compiler_support/20)开始支持宇宙飞船运算符,但它似乎没有为 std::string 或 std::shared_ptr(可能对于许多其他众生)。
我真正想做的是:
// int x(1), y(2); // ok!
// std::string x("1"), y("2"); // nope
std::shared_ptr<int> x(new int), y(new int); // nope
auto r = x <=> y; // error C2676 for string and shared_ptr
实例: https://godbolt.org/z/Eo49hh
它在 GCC 10.2 下工作。我是否遗漏了一些要点,或者它没有得到真正的完全支持?
最佳答案
MSVC 支持 operator<=>
,但这并不意味着他们已经为所有图书馆实现。从您指向 cppreference 的链接,在 C++20 library features 部分下,它实际上表明 MSVC 没有 P1614R2 (将 <=> 添加到标准库)
关于c++ - MSVC 的标准库没有为 std::string、std::shared_ptr 等定义飞船操作符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66124936/
我想知道有没有免费的PL/pgSQL开发环境。 在 Notepad++ 中编写代码,替换函数并运行它会使过程变慢。我目前正在使用 pgAdmin(仅用于替换和运行程序),但这不是我想要的。 我知道这里
我是一名优秀的程序员,十分优秀!