Journal Conversion entre pointeurs de fonctions incompatibles

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
14
7
nov.
2018

Posons nous dans le cas suivant (oui ça commence direct)

int strange_apply(int (*f)(int) {

    return reinterpret_cast<(int(*)(int, int)>(f)(1, 2);

}

Ce code compile avec un warning depuis le dernier gcc, et c'est bien car c'est en fait un undefined behavior (cast entre types de fonctions incompatibles dans le cas présent).

Et pourtant on voit pas mal de code (…)

Journal Du C++11 et des jeux !

Posté par  (Mastodon) . Licence CC By‑SA.
Étiquettes :
14
18
mar.
2015

Petit journal bookmark pour signaler cette série (en cours) sur l'apprentissage de C++ dans sa version 11 à travers la création d'un jeu de type casse-brique. Ce sont des vidéos YouTube.

  1. Arkanoid clone in 160~ lines of code (SFML 2.1)
  2. Frametime, FPS, constexpr, uniform initialization
  3. Automatic lifetime, pointers, dynamic allocation
  4. Smart pointers
  5. Game entity management basics

Le code source sous licence libre (Academic Free License 3).

Dans le dernier épisode, il met en œuvre une forme de système à entités (…)

Journal Clay Style Sheet

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
14
30
juil.
2025

Bonjour Nal!

Je dois me confesser, aujourd'hui, j'ai craqué. J'ai succombé à ce que l'on appelle "l'over engineering".

Depuis quelques temps, je développe un jeu de plateau&carte en C++, inspiré des échecs et de Magic The Gathering. Pour l'interface graphique du jeu (menus, boutons, etc…), j'ai décidé d'utiliser Clay. C'est une bibliothèque C qui s'inspire pas mal des CSS Flexbox pour la disposition des éléments de ton interface graphique. J'ai fait un moteur de rendu pour Clay avec NanoVG (…)

Forum Programmation.c++ Quelles ressources pour apprendre sérieusement ?

Posté par  . Licence CC By‑SA.
Étiquettes :
13
14
mar.
2022

Bonjour,

TL;DR : Je cherche une ressource fiable, gratuite ou non, prioritairement en français (mais si anglais, pas de souci), pour apprendre convenablement et avec des bonnes pratiques / manières de faire le C++ moderne.


En plus long et avec du contexte :

Je souhaite me pencher sur le langage C++ après quelques temps passé sur du Python (des scripts dans un contexte sysadmin) et un peu de Go (principalement pour des serveurs HTTP dans un cadre K8S). Le (…)

Onzième rencontre C++ francophone jeudi 31 mars 2016 à Paris

Posté par  (site web personnel) . Édité par Nils Ratusznik, Xavier Teyssier, Benoît Sibaud, esdeem et palm123. Modéré par Benoît Sibaud. Licence CC By‑SA.
13
16
mar.
2016
C et C++

Le C++ FRUG vous convie à leur onzième rencontre francophone. Cette édition a pour nom std::move(meetup) car elle se tient à l'école 42.

Informations pratiques :

Le programme :

  • de 19:00 à 19:30 : accueil ;
  • de 19:30 à 20:15 : fonction passée en argument template, par Martin Morterol (LRI) ;
  • de 20:15 à 21:00 : pause dinatoire, pizzas et bières gratos ;
  • de 21:00 à 21:45 : système de fichiers dans les nuages, par Quentin Hocquet (Infinit).

Journal Calculs numériques en précision absolue.

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
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 (…)

Concours de programmation CodinGame le 21 septembre 2013

Posté par  (site web personnel) . Édité par Nils Ratusznik et tuiu pol. Modéré par Pierre Jarillon. Licence CC By‑SA.
13
17
sept.
2013
Technologie

La prochaine édition de CodinGame, le challenge de code en ligne, aura lieu le samedi 21 septembre 2013 à 18h.

L'évènement accueillera des développeurs du monde entier pour leur permettre de défier leurs pairs, gagner des prix** ou entrer en relation avec des sociétés attractives qui recrutent (France, USA, Luxembourg, UK, Maroc). Parmi les entreprises annoncées figurent, en autres, Nintendo, Ubisoft, ou Dailymotion.

** Tablette Samsung Galaxy Tab 3, appareil photo Fujifilm Finepix S4200, Algorithms in a Nutshell / O'Reilly, et des T-shirts.

Journal Le quiz c++ de l'été - Débriefing

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
12
31
août
2018

Très bonne discussion sur le fil du Quizz C++ de l'été !

Sur le problème en lui-même, Clément V a donné la bonne réponse en parlant de temporaire dans le 4ème appel (shared_ptr de B). Je vais développer :

Les deux premiers appels sont identiques en terme de code machine. En effet, en C++, un objet B dérivant de A est, au point de vue de l'arrangement mémoire, un A, suivi des attributs de B (oublions l'héritage virtuel pour le (…)

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

Posté par  (site web personnel) . 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   (…)

Concours « jeu de mots » et cadeaux pour Noël

Posté par  (site web personnel) . Édité par Davy Defaud, BAud, ZeroHeure, Jehan et Benoît Sibaud. Modéré par Pierre Jarillon. Licence CC By‑SA.
12
19
déc.
2016
LinuxFr.org

LinuxFr.org organise un grand concours de fin d’année pour tous les codeurs fous avec des cadeaux pour Noël.

La fin d’année est une période calme pour la plupart d’entre nous, animée par l’esprit de fête et propice à la détente. Dans ce cadre idyllique, LinuxFr.org lance le concours des jeux de mots . Chacun choisit ses armes — son langage de programmation — et use et abuse des notations et syntaxes pour notre plus grande joie.

Fais bouillir ton cerveau. Allez, c’est parti !   ᕕ(ᐛ)ᕗ

Les deux filles _nerds_ ouvrent le concours sur les jeux de mots à tous les langages de programmation

Journal C++ Hell/Heaven et les concepts

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
11
17
sept.
2020

Salut à tous,

C++20 apporte les concepts, mais par pure nostalgie, regardons comment émuler ça en C++11

#include <utility>

#define REQUIRES(x) class _ = decltype(x)

template<class T,
         REQUIRES(((std::declval<T>()==0), T(1), std::declval<T>() * (std::declval<T>() -1)))>
T fact(T const& n) {
    return n == 0
(…)

Journal Epeios Meta Mail User Agent : le protocole IMAP.

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
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 (…)

Journal Ⓒ✙✙ Le tiret bas (underscore) au début des variables membres ?

Posté par  (site web personnel) . Licence CC By‑SA.
11
18
août
2018

En réponse à guppy, j’ai rédigé un long commentaire qui mérite d’être promu en journal.   \_o_/

La norme C++ réserve l’utilisation du tiret bas (underscore)

Résumé de la norme Ⓒ✙✙ : https://en.cppreference.com/w/cpp/language/identifiers

[…]

An identifier can be used to name objects, references, functions, enumerators, types, class members, namespaces, templates, template specializations, parameter packs, goto labels, and other entities, with the following exceptions:

  • the identifiers that are keywords cannot be used for other purposes;
  • the identifiers with a double underscore (…)