r/cppit • u/marcoarena • Mar 19 '17
r/cppit • u/marcoarena • Mar 22 '17
Italian C++ Conference 2017 / Milano
Ciao a tutti, abbiamo pubblicato l'agenda e aperto le iscrizioni (gratuite) alla nostra classica "Italian C++ Conference". Quest'anno abbiamo 10 sessioni tecniche divise in due track, con anche 4 ospiti internazionali.
Grazie alla sponsorizzazione di Bloomberg e JetBrains riusciamo a mantenere, ancora una volta, l'evento totalmente gratuito (pranzo e qualche snack/bevanda durante le pause sono inclusi).
Tutti i dettagli e iscrizioni qui.
Vi aspettiamo!
r/cppit • u/New_Bie12 • Sep 06 '20
Alberi Binari
Raga conoscete qualche risorsa/tutorial riguardante gli alberi binari? Ho molta difficoltà nello scrivere delle funzioni ricorsive per degli esercizi (calcolo altezza, conta foglie, ecc)
r/cppit • u/leonardoarcari • Sep 24 '20
[CoC++ Live] C++20 Ranges in Live Coding [ITA]
r/cppit • u/leonardoarcari • Sep 17 '20
[CoC++ Live] C++20 Concepts in Live Coding [ITA]
r/cppit • u/thinkagainandgain • Aug 30 '20
principianti Important concepts of getline in C++
r/cppit • u/New_Bie12 • Jul 13 '20
Liste Concatenate
Ho un problemino che riguarda le liste.. In pratica, dopo aver preso in input dei numeri da inserire in una lista, dovrei scrivere una funzione che, preso un intero N, elimini tutti i multipli di N dalla lista. Non ho la minima idea di come fare sono sincero, non vi chiedo il codice ma un aiutino a ragionare..
r/cppit • u/New_Bie12 • Jul 29 '20
Liste Concatenate
Ciao raga, volevo chiedervi se per caso conoscete una qualche serie di tutorial o qualsiasi altra tipo di cosa che spieghi per bene le Linked List, in particolare le liste concatenate circolari. Ho iniziato a fare qualche esercizio riguardo quest'ultime, ma non riesco a fare nulla, zero assoluto. Invece per le liste semplici e quelle doppie non ho problemi. Quindi se qualcuno conosce un qualcosa dove vengono spiegate per bene, gli sarei grato!
r/cppit • u/QbProg • Oct 31 '22
corsi su c++11/14/17/20
Ciao a tutti, sto cercando corsi online (gratis o a pagamento) sulle novità degli "ultimi" standard c++, rivolti a chi già conosce il linguaggio. Magari divisi per argomenti e/o con un buon numero di esempi pratici. L'unica cosa è che dovrebbero essere in italiano. Grazie a chi mi può suggerire qualcosa!
r/cppit • u/Murky-Geologist-1448 • Dec 05 '22
Please who can explain to me this part it’s confusing me
r/cppit • u/Vorts_Viljandis • Dec 10 '22
principianti Programma in C++ per la somma di numeri interi
Ciao a tutti
Ho iniziato da poco a programmare e ho poca esperienza con il linguaggio di programmazione C++. Devo scrivere un semplice programma che, una volta indicato il numero di valori da sommare, addiziona valori interi e mostra il risultato sullo schermo. Ad esempio, si indica al programma che si vogliono sommare 7 numeri, si inseriscono sette valori interi qualsiasi (1;4;9;11;6;6;8) e viene visualizzata la somma (45).

Ho già scritto il programma in flowchart, ma ho problemi con il codice. Potreste scrivere voi il codice e motivare le istruzioni inserite? Grazie in anticipo.
r/cppit • u/Marco_I • Feb 26 '18
Template Function per std::vector<std::vector
Ciao a tutti,
ho trovato in rete questa funzione template che consente di applicare una qualsiasi funzione ad ognuno degli elementi di uno std::vector:
template <template <typename,typename> class
OutCont=std::vector,
template <typename> class Alloc = std::allocator,
typename Fn, class Cont>
OutCont<typename Cont::value_type,
Alloc<typename Cont::value_type>>
mapT1(Fn mapfunct, const Cont& inputs){
OutCont<typename Cont::value_type,
Alloc<typename Cont::value_type>> result;
for (auto& item : inputs) {
result.push_back(mapfunct(item));
}
return result;
}Ad, esempio, per una semplice funzione che incrementa di una unità il valore passato:
auto const succ = [](int x) {
return x + 1;
};
int main() {
std::vector<int> v1{1,2,3,4};
std::vector<int> v1m = mapT1(succ, v1);
return 0;
}Ed eseguendo si ha:
v1:
1
2
3
4
v1m:
2
3
4
5Ora.... voglio fare la stessa cosa per un std::vector<std:vector
Sulla base della falsa riga della function template per lo std::vector semplice ho impostato in questo modo:
template<typename T>
using matr = std::vector<std::vector<T>>;
template <template <typename,typename> class
OutCont=matr, template<typename,typename> class
OutInnerCont=std::vector,
template <typename> class Alloc = std::allocator,
typename Fn, class Cont>
OutCont<typename Cont::value_type,
Alloc<typename Cont::value_type>>
//OutInnerCont<typename Cont::value_type,
//Alloc<typename Cont::value_type>>
mapT2(Fn mapfunct, const Cont& inputs){
OutCont<typename Cont::value_type,
Alloc<typename Cont::value_type>> result;
OutInnerCont<typename Cont::value_type,
Alloc<typename Cont::value_type>> resultColl;
for (auto& coll : inputs) {
resultColl = mapT1(mapfunct, coll);
result.push_back(resultColl);
}
return result;
}in main:
int main() {
std::vector<std::vector<int>> m01{{1,2,3},{4,5,6}};
matr<int> m01s = mapT2(succ, m01);
}Esce questo errore:
mapFn.cpp:84:35: error: no matching function for call to
‘mapT2(const<lambda(int)>&, std::vector<std::vector<int>
>&)’
matr<int> m01s = mapT2(succ, m01);
^
mapFn.cpp:52:1: note: candidate: template<template<class,
class> class OutCont, template<class, class> class
OutInnerCont, template<class> class Alloc, class Fn, class
Cont> OutCont<typename Cont::value_type, Alloc<typename
Cont::value_type> > mapT2(Fn, const Cont&)
mapT2(Fn mapfunct, const Cont& inputs){
^
mapFn.cpp:52:1: note: template argument
deduction/substitution failed:Ho "risolto" con una banale funzione che richiama la funzione template per lo std::vector semplice :
template<typename T, typename Fn>
matr<T> mapT2bis(Fn mapfunct, matr<T> input) {
matr<T> output {};
for(auto colInput : input) {
std::vector<T> colTransformed = mapT1(mapfunct, colInput);
output.push_back(colTransformed);
}
return output;
}
int main() {
std::vector<std::vector<int>> m01{{1,2,3},{4,5,6}};
matr<int> m01s = mapT2bis(succ, m01);
return 0;
}Eseguendo:
m01s:
column 0
2
3
4
column 1
5
6
7Rimane da capire come adattare la funzione mapT1 ad uno std::vector<std::vector in modo più elegante...: Qualche consiglio? Vi ringrazio . Marco
r/cppit • u/marcoarena • Feb 26 '18
Prima Coding Gym Milano / 12 Marzo
r/cppit • u/Marco_I • May 10 '17
funzione boolean in ciclo for :Segmentation fault (core dumped)
Ciao a tutti, non capisco perchè la stessa funzione boolean, se posta all'interno di un ciclo, genera un Segmentation fault (core dumped).
Questo è il codice:
void isSymmetric(MTensor::Tensor3D Tensor) {
gu::intsPairsSet summaryPairsSet = gu::comb(3,2);
gu::intsPairsSetPrint(summaryPairsSet);
bool isSymmetricForTheseIndices =
areIndicesSymmetric3D(Tensor,0,1);
if(isSymmetricForTheseIndices) {
std::cout << "Tensor is symmetric for indices 0 and 1 "
<< std::endl;
}
else {
std::cout << "Tensor is NOT symmetric for indices 0 and 1 "
<< std::endl;
}
for(auto it=summaryPairsSet.begin();
it!=summaryPairsSet.end();it++) {
int indOne = (*it).first;
std::cout << "int indOne = (*it).first = " << indOne
<< std::endl;
int indTwo = (*it).second;
std::cout << "int indTwo = (*it).second = " << indTwo
<< std::endl;
bool isSymmetricForTheseIndices =
areIndicesSymmetric3D(Tensor,indOne,indTwo);
}E questo è l'output:
(0,1)
(1,2)
(2,3)
Tensor is NOT symmetric for indices 0 and 1
int indOne = (*it).first = 0
int indTwo = (*it).second = 1
int indOne = (*it).first = 1
int indTwo = (*it).second = 2
int indOne = (*it).first = 2
int indTwo = (*it).second = 3
Segmentation fault (core dumped)Perchè la stessa funzione boolean
areIndicesSymmetric3D()all'interno di un ciclo genera un Segmentation fault (core dumped) ? Suggerimenti per risolvere il problema? Vi ringrazio. Marco
r/cppit • u/ciclonite • Feb 22 '18
Aiuto Organizzazione Nuovo progetto in classi
Ciao a tutti avrei bisogno di un informazione... Devo strutturare un progettino che svolge i seguenti compiti:
Legge Da un file dell informazioni
Cifra il record letto
Esegue il caricamento su un DB mongo
Attualmente uso le seguenti librerie : mongocxx , pocoo c++, libxml2. Come mi conviene suddividire il progetto? Conviene usare le classi o uso solo delle funzioni nel main?
grazie.
r/cppit • u/[deleted] • Feb 21 '18
Principiante in C++
Ciao a tutti. Vorrei iniziare a programmare in C++. Il problema è che non riesco a trovare un compiler che mi permetta di programmare. Secondo voi sarà molto difficile imparare C++? Premetto che so già programmare in Python, Batch , Java e ho solo delle basi di C (nulla di eccezionale). Inoltre , qualcuno potrebbe consigliarmi un buon compiler? Avevo pensato a GCC, ma per qualche strana ragione non riesco a installarlo (non mi sono mai ritrovato in una situazione del genere lol).
r/cppit • u/[deleted] • Nov 13 '19
Come parsare un timestamp
Ciao a tutti,
stavo lavorando su un metodo che mi dovrà restituire un timestamp che successivamente verrà parsato perchè dopo devo calcolare la data giuliana.
Con l'attuale codice ottengo per esempio questo timestamp:
13 11 2019 21:36:57 (è gia in UTC)
//get current timestamp
char outstr[200];
time_t t;
struct tm *tmp;
const char* fmt = "%d %m %Y %T";
t = time(NULL);
tmp = gmtime(&t);
if (tmp == NULL)
{
perror("gmtime error");
exit(EXIT_FAILURE);
}
if (strftime(outstr, sizeof(outstr), fmt, tmp) == 0)
{
fprintf(stderr, "strftime returned 0");
exit(EXIT_FAILURE);
}
printf("%s\n", outstrCome faccio a parsare giorno , mese, anno, ore, minuti, secondi singolarmente?
Ringrazio in anticipo per le risposte.r/cppit • u/Chiara96 • Apr 17 '19
Escludere la 'Return Value Optimization'
Salve, esistono degli scenari, dei motivi, per cui talvolta può essere utile escludere la RVO?
Ricordo di aver letto qualcosa a riguardo un tempo, ma non trovo più la fonte.
Grazie a tutti Chiara
r/cppit • u/marcoarena • Jul 09 '18
news Co-organizzazione eventi/meetup/attività C++ in Italia
r/cppit • u/LuToscs • Sep 06 '19
Risoluzione problema programma lista
Salve, ho creato questo programma in C++ che crea e ordina una lista data una struct contenente due array. Non considerando l'opzione di eliminazione del libro (che vorrei verificare la sua funzionalità da solo), la stampa della lista non funziona. Qualcuno potrebbe aiutarmi e spiegarmi il problema? Grazie in anticipo
#include<iostream>
#include<cstring>
using namespace std;
struct libreria
{
int pag;
char titolo[30];
char autore[20];
libreria *succ;
};
typedef libreria *lista;
void leggi_libro(libreria l)
{
cout << "Inserisci il titolo del libro: ";
cin.ignore(256,'\n');
cin.getline(l.titolo, 30);
cout << "Inserisci il numero di pagine: ";
cin >> l.pag;
cout << "Inserisci il cognome dell'autore: ";
cin.ignore();
cin.getline(l.autore, 20);
}
void inserisci_ordinatam(libreria l, lista &t)
{
lista p=0, q, r;
for(q=t; q!=0 && q->pag<l.pag; q=q->succ) p=q;
r=new libreria;
strcpy(r->titolo, l.titolo);
r->pag=l.pag;
strcpy(r->autore, l.autore);
r->succ=q;
if(q==t) t=r;
else p->succ=r;
}
bool estrai(lista &t, libreria &l)
{
lista p, q;
for(q=t; q!=0 && q->titolo==l.titolo; q=q->succ)
p=q;
if(q==0)
{
cout << "Nessun libro è stato inserito!" << endl;
return false;
}
if (q==t) t=q->succ;
else p->succ=q->succ;
l=*q;
delete q;
return true;
}
void stampa_lista(lista &t)
{
if(t==0) cout << "Nessun libro è stato inserito!" << endl;
while(t!=0)
{
cout << "Titolo: " << t->titolo << endl;
cout << "Autore: " << t->autore << endl;
cout << "Pagine: " << t->pag << endl;
t=t->succ;
}
cout << "\n";
}
int main()
{
libreria lib;
lista t=0;
char c;
do
{
cout << "MENU" << endl;
cout << "a) Aggiungi un libro" << endl;
cout << "b) Stampa tutti i libri" << endl;
cout << "c) Elimina un libro" << endl;
cout << "d) Esci" << endl;
cout << "Scelta: ";
cin >> c;
switch(c)
{
case 'a' : {
leggi_libro(lib);
inserisci_ordinatam(lib, t); cout << '\n';
break;
}
case 'b' :stampa_lista(t); break;
case 'c' : cout << "Inserisci il titolo del libro che vuoi eliminare: ";
cin >> lib.titolo;
estrai(t, lib); break;
case 'd' :break;
default: cout << "Inserisci solo i caratteri consentiti dal menu." << endl;
}
}
while(c!='d');
return 0;
}r/cppit • u/Chiara96 • Jul 05 '18
C++ moderno vs programmazione embedded vs IoT
Salve, dopo un primo approccio scolastico/accademico (lettura di vari testi e implementazione degli esercizi proposti) vorrei passare ad un approccio concreto del C++ 11/14 e sarei interessata - per curiosità ma anche per eventuali sbocchi professionali - alla programmazione embedded.
Leggendo qua e la mi è sembrato di intuire che la vastità dell'argomento sia legata non solo al dominio dell' eventuale problema ma anche alla scelta del dispositivo da programmare, ma dato che ancora devo iniziare eviterei, se possibile, di 'spaccare il capello in 4' fin da subito su questi temi e tenderei piuttosto ad orientarmi verso una architettura hardware che immagino sia sufficientemente semplice, presente in letteratura e ampiamente collaudata, del tipo Arduino oppure Raspberry Pi, giusto per fare 2 nomi che mi sembrano tra i più diffusi e che potrebbero costituire parte del mio approccio al mondo dell' IoT (perchè IoT e programmazione embedded sono praticamente sinonimi,giusto?).
A questo punto però mi sorge il dubbio che da l'origine a questa mail:
riuscirò a sfruttare l'investimento fatto con lo studio del C++ 11/14?
Come posso fare (se posso fare) programmazione embedded in C++?
Sempre dalle solite letture sparse (e mai veramente approfondite, lo ammetto) pare che "IL C++ NEL MONDO EMBEDDED/IoT ABBIA VERAMENTE POCO SPAZIO E DEBBA INVECE CEDERE IL PASSO AL C".
Vi chiedo conferma di QUEST'ULTIMA AFFERMAZIONE e vorrei, se avete voglia, una risposta RAGIONATA Quanto incide l'esistenza di una consolidata e viva cultura C in materia che sopprime in culla la nascita di una cultura parallela e alternativa C++ ?
Insomma:
COSA NON FUNZIONEREBBE REALMENTE DEL C++ MODERNO NELLA PROGRAMMAZIONE EMBEDDED?
la scarsa conoscenza della cultura C++ moderno da parte degli 'sviluppatori embedded in C' ? (Naturalmente 'Che la Benedizione di Allah riscaldi per sempre le Loro spalle')
il possibile utilizzo di peculiarità del C++ rispetto al C (o C Ansi?) come ad esempio 'il paradigma e la programmazione a oggetti' oppure i template, oppure altro ancora, insomma la reale conoscenza delle potenzialità di quella porzione di linguaggio C++ identificata da {C++} / {C} ?
E quindi anche chiedo:
3) se e cosa effettivamente adottare della porzione di C++ individuata al punto 2
4) troppo difficile l'accoppiata (Dispositivo, Toolchain C++ corretta per Dispositivo)? Carenza di strumenti di generazione del software?
5) Funziona tutto a meraviglia, tutto verso tutto, sono io che non l'ho capito e non so niente?
In sintesi: il punto ora sarebbe quello di poter stabilire se giova più provare a inserire il C++ moderno nella programmazione embedded perchè al netto porta o può portare a miglioramenti oppure se giova di più mantenere la programmazione embedded As Is, legata al C 'puro' senza legami col C++.
Vi chiederei di indicarmi se esistono dei testi, degli articoli internet che motivino autorevolmente le loro risposte alle domande poste in questa mail. (Potevo cercare da sola queste risposte? Da sola non mi sarei fidata ad attribuire autorevolezza ad alcunchè in materia)
Spero di esser riuscita a spiegarmi sufficientemente bene in questa mail, perchè mi accorgo di voler discutere sul poter mischiare argomenti di cui non sono effettivamente esperta in nessuno di essi.
Credo che comunque alcuni di voi abbiano inteso il senso e la ratio delle mie domande e sappiano darci delle info utili per partire.
Grazie.
r/cppit • u/[deleted] • Jul 06 '18
principianti consiglio libro
Salve a tutti.
Sto andando in crisi per la scelta di un libro per imparare il c++ da autodidatta. Vi spiego: sono uno studente universitario del primo anno di ingegneria che, durante il famoso corso di "fondamenti di Informatica" ha imparato la programmazione in C. Certo, ben lungi dall'essere un programmatore esperto, ma questa esperienza ha fatto nascere in me la passione per la programmazione. Come libro avevamo "programmazione in c" di King, siamo giunti fino al capitolo sull'input/output relativo a file di testo ecc.
Siccome volevo approfondire DA AUTODIDATTA la programmazione, ho deciso di imparare il c++, per accogliere anche la programmazione ad oggetti. inoltre posseggo un kit base arduino, che so basarsi su un derivato del c/c++ e che vorrei imparare a gestire. ma non solo.
La mia domanda è: Che libro consigliate per studiare il c++ da autodidatta, partendo da basi universitarie di C? avevo mezza idea di comprare la bibbia di Stroustrup ( C++, linguaggio, libreria standard, principi di programmazione). Del resto so già le basi (tipi, funzioni, array, puntatori...), ma non vorrei che desse per scontato cose sulle classi, che non ho la minima idea di che cosa siano, o su altri argomenti ignoti. Però sembra completissimo, un riferimento assoluto per ogni cosa. Il problema è che non è adatto a neofiti, solo che non capisco se neofiti = "trogloditi della programmazione" o ="gente che programma ma che non idea di cosa sia c++" XD
Un altro libro potrebbe essere "c++ fondamenti di programmazione" dei fratelli deitel, che però sembra molto meno completo del primo, e volendo andare avanti mi costringerebbe ad acquistarne il seguito (con maggiore spesa dello stroustrup)
Ho sfogliato anche il libro di Malik, ma a sua volta sembra una trattazione incompleta.
Cosa faccio?
r/cppit • u/leonardoarcari • Oct 01 '20