C++17 libère size(), data() et empty()

Posté par (page perso) . Édité par David Marec, Benoît Sibaud, Oliver H, Davy Defaud, palm123, gbdivers, whity, audionuma, Xavier Claude et kp. Modéré par Davy Defaud. Licence CC by-sa
Tags :
36
17
mar.
2018
C et C++

Cette évolution est dans la continuité de la libération de begin() et end() en C++11. Ces trois nouvelles fonctions, size(), data() et empty(), avaient été oubliées lors des deux dernières évolutions. Le C++17 corrige le tir.

Tout d’abord, nous allons revenir sur les raisons de cette évolution. Puis, nous détaillerons ce qu’apporte chacune de ces trois fonctions. Et, pour conclure, nous verrons comment on va pouvoir les utiliser.

Les fonctions empty(), data() et size() sortent de la prison « class » et rejoignent les fonctions begin() et end() qui les accueillent. Ces deux dernières fonctions accueillent également string_view. Derrières les barreaux de la prison des spécifications techniques, Unified-Call-Syntax va devoir y rester trois ans pour tenter de sortir avec C++20

Forum général.petites-annonces [Stage][Annecy] Développeur middleware C++

Posté par . Licence CC by-sa
0
8
mar.
2018

Bonjour à tous,

Ce stage se déroulerait au sein de la société Overkiz à Annecy.

Description de l'entreprise

Avec sa gateway, Overkiz permet aux fabricants, fournisseurs de service, constructeurs immobiliers et distributeurs, de commercialiser rapidement des solutions domotiques.
Grâce à sa plateforme IoT, ils peuvent installer, connecter, piloter et entretenir une vaste gamme d’équipements multi-marques, destinés à l’automatisation de l’habitat.

Mission du stage

Pour votre stage vous serez intégré à l’équipe middleware, travaillant en méthode agile scrum, dans un (...)

Journal 'Markdown presentation processor' (ou de l'intérêt des fichiers texte).

20
25
fév.
2018

Cherchant à réaliser une présentation vidéo, et utilisant déjà par ailleurs Writer de Libre Office, je me suis naturellement tourné vers Impress pour cela. C'est peut-être un très bon logiciel dans le genre, mais, personnellement, le fait de devoir m'occuper, en même temps, et du contenu, et de sa mise en forme, le peu de motivation que je pouvais avoir disparaissait comme neige au soleil. C'est la première fois que je rédigeais une telle présentation, et c'est le genre (...)

Forum général.petites-annonces Stage Qt/C++ Lyon (5-6 mois).

Posté par (page perso) . Licence CC by-sa
Tags :
5
27
nov.
2017

Bonjour à tous,

La fondation Kiwix (un de mes clients) recherche un stagiaire pour un stage de fin d'étude (5-6 mois) pour de développement Qt/C++.
Nous avions déjà posté une annonce similaire l'année dernière ici.

Vous pouvez retrouver l'annonce officiel sur le site de kiwix mais je vous la remets ici.

Objectif

Kiwix est une suite logicielle libre développée depuis une dizaine d’années pour permettre l’accès à des contenus Web sans accès à Internet – elle permet d’avoir une (...)

Forum général.petites-annonces Changements mineurs dans le créateur/gestionnaire de projets mk-project.

0
17
nov.
2017

Description de mk-project

mk-project prend la forme d'une barre de menu:

  • Projects
  • Terminals
  • Targets
  • Configuration
  • Info

Et de 2 sortes de terminaux, implémentés grâce a libvte-2.91.

Make terminal

Ici l'on voit la sortie des nombreux make targets que mk-project implémentes, si vous utilisez l'élément du menu Targets afin de lancer les commandes que vous voulez.

Edit terminal

Ce notebook de terminaux servira aux utilisateurs de ed, vim, emacs…

Afin d'éditer des fichiers car l'ont peut bien sur ajouter des onglet/terminaux (...)

Journal Compilateur trop intelligent

Posté par (page perso) . Licence CC by-sa
Tags :
30
1
nov.
2017

Une belle illustration des decisions radicales que peut prendre l'optimiseur de clang quand il rencontre des comportements indéfinis :

exemple en c++ sur https://gcc.godbolt.org

L'explication se trouve ici , je ne spoile pas pour ceux qui veulent trouver tout seuls comment le compilateur a choisi d'effacer le disque dur.

Journal Calculs numériques en précision absolue.

Posté par (page perso) . Licence CC by-sa
13
28
sept.
2017

Introduction

La lecture de ce journal m'a remémoré une bibliothèque de calcul numérique que j'ai développée et qui pourrait peut-être en intéresser quelques-uns ici.

J'ai rarement utilisé les nombres flottants à cause de leur précision limitée, et les entiers se sont parfois révélés inadaptés de par leur intervalles limités. Aussi ai-je développé une bibliothèque de gestion d'entiers dynamiques, et, en m'appuyant sur cette dernière, une bibliothèque de gestion de nombres rationnels qui prend en charge les 4 opérations mathématiques de (...)

Journal Pythran 0.8.2 — compilation de noyaux scientifiques écrits en Python

Posté par (page perso) . Licence CC by-sa
Tags :
38
14
sept.
2017

Mâtin, quel journal !

Pythran est bien vivant
Un vrai compilateur !
Et heure après heure,
Le bonheur vient en codant !

Mais des mois s’écoulèrent,
Sans que je postasse,
Le moindre mot dans l’air,
Ça manque un peu de classe

Et là, tout à coup, soudainement, surgit la version 0.8.2 de Pythran. Que s’est‐il passé depuis mon dernier soliloque sur LinuxFr.org ? Allez, plongeons dans le journal des modifications, mais avant ça, un petit rappel sur Pythran, par l’exemple.

Vous voyez ce bout (...)

Journal Code natif et Node.js - parser et préprocesseur XML

Posté par (page perso) . Licence CC by-sa
10
1
sept.
2017

Histoire de diversifier mon activité, et aussi parce que j'aime bien me lancer des défis, j'ai décidé de me mettre à Node.js. Cependant, compte tenu de ma faible appétence pour Javascript, lui préférant de loin C++, j'ai bien entendu cherché un moyen de coder pour Node.js avec mon langage fétiche. Et c'est tout à fait possible, grâce aux addons. Bon, ce n'était pas vraiment une surprise, n'ayant jusqu'à présent jamais rencontré d'environnement d'exécution logiciel qui (...)

Forum Programmation.autre [Umbrello] sélection multiple

Posté par . Licence CC by-sa
Tags :
1
31
août
2017

J'essaie d'utiliser Umbrello, l'outil de KDE qui permets de générer un modèle objet à partir d'un code source (C++ dans mon cas) et a priori le dernier open source avec un potentiel correct (non, dia ne fait pas le taf. Il y avait bien bouml mais d'une part il n'est plus libre et la dernière version freeze anyway. Quant à son fork, il faut mingw pour le compiler, hors, la, pas de bol je suis au taf sous windows, et (...)

Journal Un Python qui rivalise avec du C++

16
27
août
2017

Rencontre avec un code de calcul scientifique open-source - écrit en Python - qui tente de rivaliser avec du C++ sur des supercalculateurs, spectralDNS!

Quelques liens:

La publication initiale : https://arxiv.org/pdf/1602.03638v1.pdf
Une seconde publication : https://arxiv.org/pdf/1607.00850.pdf
Une publication plus récente : https://arxiv.org/pdf/1701.03787v1.pdf
Le dépôt GitHub : https://github.com/spectralDNS/spectralDNS

Première réaction?

Je ne sais pas quelle est votre première réaction. Moi j'y croyais pas trop. Puis j'ai potassé les articles, j'ai fait quelques tests avec le code, j'ai contacté l'auteur principal, et (...)

Journal Meetup C++ le jeudi 13 avril 2017 à Paris

Posté par (page perso) . Licence CC by-sa
12
4
avr.
2017

Ci-dessous le copié-collé, sans les liens hypertextes, ni les images, ni la mise en forme, rien que le texte en brut :

Seizième édition des rencontres du C++ French User Group Paris

L'entrée est gratuite, possibilité de recevoir 150 personnes.

Planning

  • 18:30   Accueil
  • 19:00   Présentation de notre sponsor
  • 19:15   Composer avec le Chaos - Joël LAMOTTE, SoftBank Robotic Europe
  • 20:00   Cocktail dînatoire
  • 20:30   (...)

Forum général.petites-annonces TETRANE 1/3: multiples offres d'emplois / stages : Ingé R&D C++

Posté par . Licence CC by-sa
1
10
fév.
2017

TETRANE est un éditeur de logiciel français créé en 2011, l'équipe comporte actuellement une dizaine d'ingés. Nous sommes basés à Mâcon (50m de la gare, plusieurs ingés habitent à LYON). Notre produit REVEN, basé sur notre simulateur de CPU, aide au debugging avancé et au reverse-engineering. REVEN est actuellement utilisé par des équipes d'experts du monde de la défense sur 4 continents.
Forts de notre succès, nous souhaitons renforcer l'équipe R&D pour adresser le marché des éditeurs de logiciels civils (...)

Journal Epeios Meta Mail User Agent : le protocole IMAP.

Posté par (page perso) . Licence CC by-sa
11
30
jan.
2017

Suite des aventures concernant le développement d'un MUA, dont le début vous est rapporté ici.

Après POP3 (RFC 1939) et Mail Internet Format (RFC 5322), voici le tour d'IMAP (RFC 3501 et 5530) d'être implémenté (partiellement pour le moment), et notamment la structure générale des messages qui sont échangés entre client et serveur IMAP, ce qui facilitera la future implémentation des commandes manquantes.

La prise en compte d'IMAP n'ayant qu'un impact réduit (...)