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
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
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++
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++
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
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
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
- Événement planifié sur l'agenda du libre :
http://www.agendadulibre.org/events/13631 - Inscription sur Meetup.com
https://www.meetup.com/fr-FR/User-Group-Cpp-Francophone/events/238720203/
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++
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
Micro Music Player (mmp) est disponible dans une nouvelle version : 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
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.
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.
É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++
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. :-)
C++11 : sur le fil
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 pointeurthis
- l'utilisation de
decltype
sur des expressions de type incomplet
NdM : merci à nazcafan pour son journal.
Journal 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 {
(…)