Nous avons lu pour vous : Embracing Modern C++ Safely

Posté par  (site web personnel) . Édité par small_duck, Lawless, alkino, pulkomandy, serge_sans_paille et Ysabeau 🧶. Modéré par Ysabeau 🧶. Licence CC By‑SA.
Étiquettes :
27
9
sept.
2022
C et C++

Embracing Modern C++ Safely par John Lakos, Vittorio Romeo, Rostislav Khlebnikov, et Alisdair Meredith, est un livre couvrant les nouveautés apportées au langage C++ dans ses versions 11 et 14. Les auteurs sont tous employés de Bloomberg et présentent chaque addition au langage sous couvert de l’expérience qu’ils en ont eu au quotidien dans leur métier.

Journal Compter en C++, de 98 jusqu'à 11

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
37
2
juin
2021

Salut 'nal,

Non, ça ne fonctionne pas.

Bonjour 'nal,

Ah c'est mieux !

Il y a quelques temps, un collègue m'a proposé de faire une présentation au sein de la boîte pour faire le tour des modifications qui ont été apportées au langage C++ depuis la version de 2011. J'ai commencé à faire quelques slides en me concentrant sur les parties qui me semblent essentielles mais, assez rapidement, il m'est paru clair qu'il faudrait plus d'une présentation si je voulais (…)

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 Obfusque ton code avec C++

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
15
16
mar.
2018

Cher Nuit-Nal,

toi qui aime le C++11, tu as peut-être déjà essayé de concaténer des chaînes constantes, suivant ce scénario là :

struct Some {
    static constexpr char Name[] = "Mr Popo";
};

char const *escape() {
    auto dogs = cats("hey, ",  Some::Name, " what's up?");
    return dogs;
}

int main() {
  char const* concat = escape();
  puts(concat);

  return 0;
}

(…)

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

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

Forum Programmation.c++ classe C++, membre structure C et allocation dynamique

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
3
21
avr.
2017

Bonjour,
je m'essaye (débutant) à développer une classe c++ dont certains membre sont des pointeurs vers des structures définies dans une bibliothèque c.
Par exemple :

/* maclasse.hh */
#include <une_lib_en_c.h>

class MaClasse {
public:
  MaClasse();
  ~MaClasse();
  int init();
private:
  ma_struct_c *s; //struct définie dans une_lib_en_c.h
};

MaClasse::MaClasse() {
  s = nullptr;
}

MaClasse::~MaClasse() {
  if (s != nullptr) {
    // s_destroy définie
(…)

Journal Gamedev Framework 0.4.0

Posté par  (Mastodon) . Licence CC By‑SA.
Étiquettes :
37
14
avr.
2017

Gamedev Framework (gf) est un framework de développement de jeu vidéo 2D en C++11. Il est basé sur SDL et OpenGL ES 2.0 et s'inspire très largement de l'API du module graphique de SFML avec quelques différences mineures et surtout en ajoutant des fonctionnalités non-présentes dans SFML.

La bibliothèque trouve son rythme avec une sortie tous les trois mois. C'est donc aujourd'hui, trois mois après la version 0.3.0 que sort cette version 0.4.0.

Comme annoncé la dernière fois, le principal (…)

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   (…)

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

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

Micro Music Player (mmp), le lecteur musical minimaliste, sort en version 3.0

37
6
fév.
2017
Son

Micro Music Player (mmp) est disponible dans une nouvelle version : 3.0.

Copie d'écran: Interface minimale de mmp-3.0.

Il s’agit d’un lecteur musical minimaliste écrit en C++ dans un style C-Like(licence GPL v3). Un petit lecteur musical, joli, pratique et petit mais costaud, détaillé dans la suite de la dépêche.

Journal BinMake : pour construire un fichier binaire décrit en texte

Posté par  . Licence CC By‑SA.
Étiquettes :
21
12
jan.
2017

BinMake est un logiciel libre permettant de créer des fichiers binaires en décrivant par du texte leur contenu.
Il peut également être inclus dans du code C++ et être utilisé comme un flux.

Le texte décrivant le binaire à générer permet d'indiquer des nombres de bases décimale, hexadécimale, octale et binaire, de fournir du texte brute (sur une ligne). Il permet également de modifier l'endianness.
(Il devrait prochainement proposer des nombres flottants et du texte multi-lignes)

Version programme exécutable

La (…)

Sortie de battle‐rage: un jeu de combat, dans le genre Street Fighter.

Posté par  (site web personnel) . Édité par Davy Defaud, bubar🦥, palm123, Benoît Sibaud et Florent Zara. Modéré par ZeroHeure. Licence CC By‑SA.
16
4
nov.
2016
Jeu

battle‐rage : un jeu de combat, ou « la bataille fait rage » !

battle‐rage est un jeu de combat en 2D proposant les principes d’un tournoi mondial d’arts martiaux, dans lequel les combattants se castagnent dans la joie et la bonne humeur. Un joystick est obligatoire pour y jouer, peut‐être serez‐vous amené à monter dessus pour faire des scores d’excellence ? De terribles duels à mains nues à venir, avec seize combattants différents !

NdM. : voir les commentaires pour la discussion sur la réutilisation sans autorisation des sprites tirés d’un jeu non libre. Les captures d'écran ont été retirées de la dépêche et converties en lien.

Battle Rage logo

Écrit en C++ avec les bibliothèques sdl2, sdl2_image, sdl2_ttf et sdl2_mixer, il est publié selon les termes de la licence GPL v3.

La suite de la dépêche propose de passer en revue le mode d’emploi, à lire le temps d’installer Battle‐Rage !

Les coulisses du standard C++

Posté par  (site web personnel) . Édité par Davy Defaud, Benoît Sibaud, ZeroHeure, bubar🦥, M5oul et Anthony Jaguenaud. Modéré par Pierre Jarillon. Licence CC By‑SA.
99
20
août
2016
C et C++

Le C++ a bientôt la quarantaine et pourtant très actif en ce moment avec la finalisation de la prochaine version C++17. Profitons‐en pour faire le point avec une série d’articles sur le C++. Cette première dépêche nous dévoile la face cachée du C++, et donc peut intéresser tous les lecteurs LinuxFr.org. :-)

Évolution du langage C++

C++11 : sur le fil

Posté par  . Édité par Florent Zara et Xavier Teyssier. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
28
7
juin
2013
C et C++

Dans la course effrénée que se livrent les compilateurs, GCC vient de gagner une manche en étant le premier à fournir une implémentation complète du langage C++11. Les développeurs ont profité de la sortie de la version de maintenance 4.8.1 pour implanter les deux fonctionnalités manquantes :

  • les rvalue-references pour le pointeur this
  • l'utilisation de decltype sur des expressions de type incomplet

NdM : merci à nazcafan pour son journal.

Journal C++11 : sur le fil

Posté par  . Licence CC By‑SA.
Étiquettes :
28
6
juin
2013
Ce journal a été promu en dépêche : C++11 : sur le fil.

Dans la course effrénée que se livrent les compilateurs, GCC vient traîtreusement de gagner une manche en étant le premier à fournir une implémentation complète du langage C++11. Les développeurs ont profité de la sortie de la version de maintenance 4.8.1 pour implanter les deux fonctionnalités manquantes :

les rvalue-references pour le pointeur this

Celles-ci permettent (entre autres) de surcharger des fonctions membres quand this est une rvalue ; voici un exemple tiré de la proposition originale :

class X {
(…)