5
我偶然發現了這個代碼是用C++拉姆達:C++靜態拉姆達性能
qreal defaultDpiScale()
{
static qreal scale = []() {
if (const QScreen *screen = QGuiApplication::primaryScreen())
return screen->logicalDotsPerInchX()/96.0;
return 1.0;
}();
return scale;
}
爲什麼要使用lambda對這樣的人寫這樣的功能:
qreal defaultDpiScale()
{
if (const QScreen *screen = QGuiApplication::primaryScreen())
return screen->logicalDotsPerInchX()/96.0;
else
return 1.0;
}
有什麼表現優點?我只是想了解lambda在這種情況下的用處。
你是否知道他們做了不同的事情? – juanchopanza
提示:檢查「qreal」究竟是什麼。免費線索:不,它不是'雙'。 –
@SamVarshavchik雖然聽起來像[它幾乎總是](http://doc.qt.io/qt-4.8/qtglobal.html#qreal-typedef)'double'。但這是一個暗示? – Quentin