Frage zu for-Kopf / Iterator Inkrement in Visual Studio STL
-
Ich schaue mir gerade einen Vortrag an, in dem einige Implementation Details der Standard Library von Visual Studio gezeigt werden: https://www.youtube.com/watch?v=dTeKf5Oek2c
Bei 23:10 sieht man folgende Schleife:template<class _FwdIt1, class _FwdIt2, /*usw*/) bool is_permutation(_FwdIt1 _First1, _FwdIt1 _Last1, _FwdIt2 _First2. _FwdIt2 _Last2, /*usw*/) { /* usw */ for(; _First1 != _Last1 && _First2 != _Last2; ++First1, (void)++_First2) /* usw */ }Warum wird hier das (void) benutzt beim zweiten Inkrement?
-
Hätte ich mal das Video zuende geschaut... Bei ca. 51:00 gibts die Antwort:
Das (void) schützt vor überladenem Komma-Operator.