#include<iostream>intmain(){intx=10;inty=20;// Lambda function with auto return type explicitly set to void to print the sum of x and y.autoprintSum=[&](inta,intb)->void{intsum=a+b;std::cout<<"Sum: "<<sum<<std::endl;};printSum(x,y);// Output: Sum: 30return0;}
#include<iostream>// 函数f的声明voidf(intx);voidg(inty);intmain(){g(5);return0;}voidf(intx){std::cout<<"Function f with parameter: "<<x<<std::endl;}voidg(inty){std::cout<<"Function g with parameter: "<<y<<std::endl;f(y+1);}
假如說我需要輸入很多含有空格的字串,字串與字串間用換行來分隔,在每個字串與字串間,我又要輸入一個正整數。在處理換行符號時,std::getline() 會將換行符號留在輸入緩衝區中,因為它是字串的一部分。如果緊接著使用 std::cin >> number 讀取整數,那麼輸入緩衝區中的換行符號將被讀取到 number 中,這可能導致不正確的結果,所以需要用 cin.ignore() 來清空緩衝區。