C++

这里使用了std::prev函数,它返回给定迭代器的前一个迭代器,而不改变原始迭代器。这是C++11标准引入的方法,用于在不改变原始迭代器的情况下获取前一个迭代器。

在C++17中,条件初始化语句(”Conditionally-Scoped Init Statement”)是对if和switch语句的一种扩展,使它们可以在条件判断中包含初始化语句。这一特性增强了代码的可读性和简洁性,特别是在需要在条件判断中进行变量初始化的场景下。具体来说,这种语法允许你在if或switch语句中引入一个新的变量,该变量的作用域仅限于该语句块内。

#include <iostream>

int main() {
    if (int x = 42; x > 0) {
        std::cout << "x is positive and equals " << x << std::endl;
    } else {
        std::cout << "x is non-positive" << std::endl;
    }
    // x 的作用域在此结束
    return 0;
}
#include <iostream>

int main() {
    switch (int x = 42; x) {
        case 0:
            std::cout << "x is zero" << std::endl;
            break;
        case 42:
            std::cout << "x is 42" << std::endl;
            break;
        default:
            std::cout << "x is something else" << std::endl;
            break;
    }
    // x 的作用域在此结束
    return 0;
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注