stdoptional相关内容

C++23的一元绑定和一元返回是什么可选的?

C++23std::optional终于得到了一些非常有用的附加功能。 因为我对FP的了解非常原始,所以我想知道以下两个操作的语法是什么(根据我的Google搜索是两个基本的一元操作): 一元绑定 一元回报 我的最佳猜测是: 一元绑定transform 一元返回仅为C++17std::optionalconstructor(8) 推荐答案 mbind(它 ..
发布时间:2022-04-20 14:15:56 C/C++开发

C++17 std::optional 错误:'auto' 之前的预期主表达式

我正在试验 C++17 特性 std::optional 可选返回类型为std::optional>.我叫sum_pair 函数在 print_answer 函数中,想要一个可选的打印. 在 print_answer 函数中,我想检查所需的对是否包含要显示的内容.就像在下面给出的例子中一样:可选返回工厂函数可用作 while 和 if 的条件 以下是代码:这里有错误 #incl ..
发布时间:2021-12-12 14:06:22 C/C++开发

是否可以将对象设置为空?

进一步在我的代码中,我检查对象是否为空/空. 有没有办法将对象设置为空? 解决方案 类的对象不能设置为NULL;但是,您可以将指针(包含对象的内存地址)设置为 NULL. 你不能做的事情的例子: Cat c;c = NULL;//编译错误 您可以执行的操作示例: Cat c;//设置p保存对象c的内存地址猫 *p = &c;//设置p为NULLp = NULL; ..
发布时间:2021-12-11 19:51:14 C/C++开发

clang 5:std ::可选的实例化螺钉std :: is_constructible参数类型的特征

切换到c ++ 17并将标准的自定义 std :: optional 解决方案替换为c ++ 17时,检测到了clang 5的一种非常奇怪的意外行为。由于某些原因, emplace()由于对参数的 std :: is_constructible 性状的错误评估而被禁用 在复制之前必须满足一些特定的先决条件: #include ///前提条件1:T必须是嵌 ..
发布时间:2020-09-28 02:13:30 C/C++开发

nullptr,{}和nullopt之间的区别

为什么我不能使用nullptr代替nullopt?为什么{}像nullopt一样翻译? 解决方案 optional不是指向T的指针,它是一个 T或什么都不是.您不能像指针和引用那样具有“悬挂optional"或任何其他类型的“无效"值. nullptr是一个可以转换为任何指针类型的值的对象. nullopt是可以转换为任何optional类型的值的对象. {}是 ..
发布时间:2020-07-25 20:28:58 C/C++开发

std可选:无此类文件或目录

我尝试使用不同的编译器(包括gcc 6.1)编译以下程序: #include int main() { std::optional o1; } 输出为 main.cpp:1:20:致命错误:可选:没有这样的文件或目录#include可选 对于此处给出的示例,这甚至是正确的: http://en.cppreference.com/w/cp ..
发布时间:2020-07-25 20:28:53 C/C++开发

是否可以将对象设置为null?

在我的代码中,我进一步检查对象是否为空/空. 是否可以将对象设置为null? 解决方案 一个类的对象不能设置为NULL.但是,您可以将指针(包含对象的内存地址)设置为NULL. 您不能做什么的示例: Cat c; c = NULL;//Compiling error 您可以做什么的示例: Cat c; //Set p to hold the memory add ..
发布时间:2020-07-25 20:28:44 C/C++开发