我想讓我的getEnd函數返回一個閉包,並保存開始。如何從函數返回閉包?
當我把這個關閉它應該返回的時間差......
如何實現它在C++?
喜歡的東西如下:
using namespace std;
long microtime() {
timeval time;
gettimeofday(&time, NULL);
long microsec = ((unsigned long long)time.tv_sec * 1000000) + time.tv_usec;
return microsec;
}
std::function<void()> getEnd(){
long start = microtime();
long end() {
return microtime() - start;
}
return end;
};
有什麼問題與您當前的代碼? (對於沒有準備好編譯器的thost來試試它...) – anderas
首先,你*知道如何編寫[lambda表達式](http://en.cppreference.com/w/cpp /語言/λ)? –
@KonradRudolph,非常感謝您的正確問題標題) –