IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Tab Content
Pas d'activité récente
Informations de Bousk

Informations de base

Âge
37
Informations de Bousk
Sexe:
Homme
Pays:
Canada
Activité:
Network game programmer
Blog:
http://bousk.developpez.com/

Signature


Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Statistiques


Messages au total
Messages au total
7 128
Messages par jour
1,37
Informations générales
Date d'inscription
24/06/2010
Site web
http://bousk.developpez.com/
Voir le blog de Bousk

Billets récents

[Aller plus loin]Extraire des collections de données depuis une collection initiale

par Bousk, 04/11/2020 à 15h11
Dans le billet précédent, nous avons vu comment extraire des collections de données depuis un vector sans aucune allocation supplémentaire.
La conclusion laissait entendre que ce système est applicable à d'autres collections que std::vector.

Ça l'est, et relativement simplement.

Pour y parvenir, il suffit d'ajouter un niveau de template, en modifiant le template pour pas être le type de l'élément mais de la collection.
Ainsi, VectorView devient donc ContainerView:

En lire plus...

Mis à jour 04/11/2020 à 17h48 par Bousk

Catégories
C++ , Programmation

Extraire des collections de données depuis une collection initiale

par Bousk, 29/10/2020 à 17h16
Il est commun de devoir extraire des vector depuis un vector initial.
Si l'on veut extraire des vector d'utilisateurs par exemple, tout en s'assurant que chaque utilisateur n'est présent que dans un vector à la fois.

La première approche d'un tel problème ressemblerait probablement à ceci :
Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
std::vector<..> originalData;
std::vector<...> list1;
std::vector<...> list2;
std::vector<...> list3;
std::vector<...> list4;

En lire plus...

Mis à jour 05/11/2020 à 23h26 par Malick

Catégories
C++ , Programmation

[Aller plus loin]Filtrer les données d'un conteneur pendant une itération via ranged-based for loop

par Bousk, 09/09/2019 à 05h25
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
1
2
template<class Container>
ForRangedLoopFilter<Container> operator|(Container& container, std::function<bool(const

En lire plus...

Catégories
C++ , Programmation

Filtrer les données d'un conteneur pendant une itération via ranged-based for loop

par Bousk, 05/08/2019 à 17h55
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

En lire plus...

Mis à jour 23/08/2019 à 14h42 par Bousk

Catégories
C++ , Programmation
Aucune certification n'a été indiquée. Déclarez vos certifications