Archivio Tag: cpp

dic 14

Il C++ e 5 malefici cast

In C è facile spararti in un piede; In Cpp è più difficile ma se ci riesci ti salta via l’intera gamba. – Bjarne Stroustrup Una cosa che dico sempre del Cpp è che è un linguaggio che va dominato e che insegnarlo a un principiante sarebbe come dare un mitragliatore al tipo che entra …

Continua a leggere »

Share Button

apr 18

Test

logo.gif

tu non dovresti leggermi

Share Button

nov 25

le Condition, implementazione delle code di attesa. il problema del barbiere addormentato (C++0x – C++11)

Le Condition Le Condition sono un meccanismo di sincronizzazione che permette ai thread di sospendersi in attesa che avvenga un evento e di essere risvegliati quando l’evento accade, permettono quindi di creare delle code di attesa. Nelle STL le condition sono oggetti della classe std::condition_variable , i metodi fondamentali per usarle sono tre: wait() permette …

Continua a leggere »

Share Button

nov 09

Uso avanzato dei Mutex, i 5 Filosofi (C++0x – C++11)

Illustrazione originale dal testo di Dijkstra

Nell’articolo precedente ho parlato del mutex e del suo uso semplice con la lock_guard. in questo tratterò gli altri tipi di guard e l’uso avanzato dei mutex unique_lock Con unique_lock un mutex può fare molto di più di quello che permette la lock_guard : Si può cercare di prenotarlo in maniera non bloccante ( se …

Continua a leggere »

Share Button

ott 20

Sincronizzazione dei Thread e gestione delle risorse con i Mutex ( C++0X – C++11)

L’accesso concorrente ai dati o alle risorse può provocare incoerenze nei dati o situazioni di deadlock nel caso di risorse che prevedono accesso esclusivo, in questo post cercherò di analizzare gli strumenti che C++0X offre per la sincronizzazione. in particolare i Mutex

Share Button

ott 11

Il C++ e il Multithreading (C++0X – C++11)

Un’altra funzionalità molto interessante introdotta nel C++0X oltre sono le lambda descritte nell’articolo precedente è il supporto nativo al multithreading.

Esistevano già librerie che si occupavano di multithreading in cpp ma adesso è integrato nel linguaggio…

Share Button

mar 24

il C++ e le lambda ( C++0X – C++11)

Kiss

Un interessante funzione introdotta nello standard C++0X sono le lambda Le funzioni lambda sono tipiche dei linguaggi che applicano il paradigma della programmazione funzionale ( completamente o in maniera ibrida) e permettono di trattare le funzioni come se fossero oggetti, potendole quindi definire in qualunque punto del codice e assegnare a una variabile. Vediamo un esempio …

Continua a leggere »

Share Button

feb 24

Il C++ non è ancora morto ( C++11 )

Uno dei linguaggi che ho visto più maltrattare all’Università e di conseguenza poi da molti (sedicenti e/o futuri) ingegneri del software che hanno fatto il grave errore di accettare acriticamente le illazioni dei professori è il C++ (un mio professore ne aveva quasi terrore… ) Michele Sciabarrà anni fa scrisse in un suo post veramente geniale: C++ Livello …

Continua a leggere »

Share Button

nov 07

Programmazione, compiti svolti

Publico i miei svolgimenti di alcuni esami di programmazione da 9cfu del corso di ingegneria informatica di Palermo sperando che siano utili a qualcuno. Le implementazioni sono tutte in C++ ANSI, l’ambiente di sviluppo usato e Dev-Cpp (non perché mi piacesse…semplicemente era l’IDE che avrei usato durante l’esame e quindi era bene che mi abituassi …

Continua a leggere »

Share Button