Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ optional

作者:昂首向前走,   发布日期:2025-12-31   浏览:96

#include <iostream>
#include <optional>

// C++17 引入了 std::optional,用于表示可能有值也可能没有值的情况。
// 这有助于避免使用指针或特殊值来表示“无值”的情况。

std::optional<int> divide(int numerator, int denominator) {
    if (denominator == 0) {
        return std::nullopt; // 表示没有有效的返回值
    } else {
        return numerator / denominator;
    }
}

int main() {
    auto result = divide(10, 2);

    if (result.has_value()) {
        std::cout << "Result: " << result.value() << std::endl;
    } else {
        std::cout << "Division by zero is not allowed." << std::endl;
    }

    auto result2 = divide(10, 0);

    if (result2.has_value()) {
        std::cout << "Result: " << result2.value() << std::endl;
    } else {
        std::cout << "Division by zero is not allowed." << std::endl;
    }

    return 0;
}

解释说明:

  • std::optional 是 C++17 引入的一个类模板,用于表示一个可能有值也可能没有值的变量。
  • divide 函数尝试执行除法操作。如果分母为零,则返回 std::nullopt 表示没有有效值;否则返回商。
  • main 函数中,我们调用 divide 并检查返回的 std::optional 是否包含有效值,从而决定输出什么内容。
  • 使用 has_value() 方法检查 std::optional 是否包含值,使用 value() 方法获取其内部存储的值。

上一篇:c++ double保留两位小数

下一篇:c++ raii

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

c++ random函数用法

队列c++

c++freopen怎么用

c++virtual

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站