auto&&… args.

Kiedyś zastanawiałem się nad tym, co jeszcze można będzie zrobić z auto i o co całe to wielkie halo.

Auto może być użyte do dedukcji typów uniwersalnych referencji pakietu parametrów, w funkcjach o dowolnej liczbie parametrów. Brzmi strasznie ale wbrew pozorom nie jest to takie skomplikowane, a jeśli miałbym wskazać jedną nowinkę w standardzie nowego c++, wybrałbym właśnie to, choć tych fajnych rzeczy w standardzie po c++11 jest mnóstwo:

#include <iostream>

using namespace std;

int main()
{
        auto f = [] (auto&&... args) {
            ((cout << args << " "), ...);
            cout << endl;
        };

        f(1, 2.3, "cztery");
}

~/cpp_fun>$ ./”variadic_lambdas1″
1 2.3 cztery

Niedługo mam nadzieję będzie to działać nie tylko dla funkcji lambda, ale też dla „zwykłych” funkcji.

Wywoływanie slotu w C++ z QML.

Moje eksperymenty z QtQuick2 spowodowały, że całkowicie zmieniłem zdanie na temat Qt5 i muszę przyznać, że minę mam coraz częściej taką 8-O.

cppslotfromqml
Po przemyśleniu możliwości model-view-controller, gdzie widok generowany jest z QML przez OpenGL, a dynamiczne z natury dzisiejszych urządzeń zmiany interfejsu zakodowane są w EcmaScript (JS) osadzonym w QML, oprócz tego łatwość wywoływania funkcji w C++ i Javie, dochodzę do wniosku, że Qt5 rządzi ;).