我發現了一個簡單的代碼:「cout <<(_ 1 * 3)」是什麼意思?
using namespace boost::lambda;
typedef std::istream_iterator<int> in;
std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " ");
,我發現_1
用於表示每個輸入整數,但如何做到這一點_1
工作?有誰知道?
PS: 此代碼來自BOOST的第一個示例。當我運行該文件時,我發現for_each永遠不會終止,並且在每次「返回」單擊之後它都會保留讀取的數字。任何想法爲什麼會發生?
這不是標準的庫佔位符。此佔位符被Boost.Lambda用於在將它們添加到C++ 11中的語言之前創建lambda表達式。 – Simple
@簡單,真實,但我不知道OP在使用boost時正在回答:P另一個答案包含提升文檔的鏈接。 – SingerOfTheFall