企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 概述 在传统 C++ 中,变量的声明虽然能够位于任何位置,甚至于`for`语句内能够声明一个临时变量`int`,但始终没有办法在`if`和`switch`语句中声明一个临时的变量 ``` #include <iostream> #include <vector> #include <algorithm> int main() { std::vector<int> vec = {1, 2, 3, 4}; // 在 c++17 之前 const std::vector<int>::iterator itr = std::find(vec.begin(), vec.end(), 2); if (itr != vec.end()) { *itr = 3; } // 需要重新定义一个新的变量 const std::vector<int>::iterator itr2 = std::find(vec.begin(), vec.end(), 3); if (itr2 != vec.end()) { *itr2 = 4; } // 将输出 1, 4, 3, 4 for (std::vector<int>::iterator element = vec.begin(); element != vec.end(); ++element) std::cout << *element << std::endl; } ```