Suite à mon précédent billet j'ai voulu pousser un peu pour arriver à une syntaxe telle que for (auto value : vec | [](...){...}) que je trouve plutôt attrayante. Et surtout ne pas avoir à taper le nom de la classe au complet, chose que je trouve des plus pénibles. Ce fût étonnamment rapide puisque le simple ajout d'un opérateur libre permet d'y parvenir : Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part 12template<class Container> ForRangedLoopFilter<Container> operator|(Container& container, std::function<bool(const ...
template<class Container> ForRangedLoopFilter<Container> operator|(Container& container, std::function<bool(const
Les ranged-base for loop apparues en C++11 sont un excellent moyen d'itérer sur l'ensemble des données d'un conteneur. Mais si l'on veut ne traiter que certaines entrées selon un critère/filtre, il faut alors ajouter le filtre dans la boucle afin de ne pas exécuter l'opération sur cette entrée, ce qui n'est pas très élégant. En attendant une solution du langage, possiblement via les ranged, dans une version future, voici un moyen relativement simple de filtrer dans la boucle, en C++11 ...
Mis à jour 23/08/2019 à 14h42 par Bousk
Dans ce précédent billet, je vous parlais de mon aversion pour les Exit de toute sorte... J'y développais des considérations essentiellement techniques concernant les problèmes rencontrés par des Exit qui permettent de sortir improprement d'une boucle ou d'une procédure. J'y parlais notamment du problème de Application.EnableEvents = False qui risquait de ne pas être rétabli suite à un Exit Sub. L'enregistreur de macros (que je déteste même s'il me rend des services) ...
Mis à jour 30/06/2021 à 07h32 par Pierre Fauconnier
Bonjour, Une fonction récursive pour faire quelque chose dans chaque dossier, sur le dossier ou les éléments de ce dossier. Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part 12345678910Option Explicit Sub Lance_Traitement() '--------------------------------------------------------------------------------------- ' Procedure : Lance_Traitement ' Author : Oliv ' Date : 12/02/2016 ' Purpose : '--------------------------------------------------------------------------------------- ...
Option Explicit Sub Lance_Traitement() '--------------------------------------------------------------------------------------- ' Procedure : Lance_Traitement ' Author : Oliv ' Date : 12/02/2016 ' Purpose : '---------------------------------------------------------------------------------------
Mis à jour 21/04/2016 à 18h07 par Oliv-
Les boucles for en JavaScript sont généralement écrites ainsi : Code : Sélectionner tout - Visualiser dans une fenêtre à part 123for (var i = 0; i < 1000; i++) { ... } La version incrémentale, ou avant, d'une boucle for est ce qui est de plus populaire chez les développeurs, et pas seulement en JavaScript. Cependant, dans les algorithmes un peu avancés, il arrive de tomber sur des boucles décrémentales, ou arrières, très "assembleur" dans l'esprit comme celle-ci : Code : Sélectionner tout - Visualiser dans une fenêtre à part for (var i = ...
for (var i = 0; i < 1000; i++) { ... }
for (var i =