Le code C++ a de sérieux problèmes de syntaxe ( pointeurs nus?, pas de delete?, std::list? ) et de conception (ya pas besoin d'héritage en fait..)
Le code C++ a de sérieux problèmes de syntaxe ( pointeurs nus?, pas de delete?, std::list? ) et de conception (ya pas besoin d'héritage en fait..)
Par défaut on utilise pas de pointeurs en C++. La raison d'utiliser les pointeurs ce n'est pas la performance.
Les références servent à passer l'objet en lui même sans faire de copie.
Déjà il faut se demander "pourquoi des pointeurs?"
Ca ressemblera plutôt à ça en C++:
#include <algorithm>
#include <string>
#include <cctype>
#include <iostream>
int main()
En OpenCV 2.4 ya déjà un gros backend C++, c'est ça que tu devrais utiliser si tu maitrise pas les allocations dynamiques etc..
Il faudrait surtout voir le code où il y a les new et les delete...
Prend un stagiaire dans une école d'ingénieur? Il pourra ptet te faire une page web sympa avec une base de données derrière.
Ou alors tu veux apprendre le C++?
Sinon tu peux regarder les...
Au hasard, enlève tes pointeurs? Remplace les par des shared_ptr ou par des valeurs?
Pour moi si on connait un peu la programmation, on peut commencer direct par "The C++ Programming Language " de Stroustrup. Je trouve que ça se lit bien, ce n'est pas qu'une référence.
On peut...
Un rapport avec ça?
http://stackoverflow.com/questions/1076190/64-bit-floating-point-porting-issues
"There is no inherent need for floats and doubles to behave differently between 32-bit and...
tu peux essayer de faire une exemple minimum qui montre le problème
Bon en fait la bonne réponse c'est que le C++ ne force pas l'utilistation de la programmation objet, il est multiparadigme.
Mais je doute qu'on pose ça à un entretien "C/C++".
J'imagine qu'on...
Après si tu veux faire un score style "clicker heroes" (https://www.clickerheroes.com/) je pense qu'il faut que t'utilises des astuces pour gérer ton score autre que "trouver un type de base qui...
Ca crashe pas le programme, ça lance une exception, c'est quand même différent.
Je vois pas trop le problème d'utiliser ça par défaut, quand on ne connait pas le domaine d'application du prog...
Personne ne propose simplement le .at( 2 ) ?
Genre:
std::string s{ "salut" };
char c = s.at( 2 )
if( c == 108 )
Faudra m'expliquer le but d'avoir un score plus grand que le nombre d'atomes dans l'univers.
Un "uint64_t" ou un "unsigned long long", ça permet de compter déjà jusqu'à 18.446.744.073.709.551.615
Ce que tu veux, c'est pas juste un vector de string? (std::vector< std::string > ?)
A ce que je sais, tu auras des fiascos d'init si tu as des objets globaux qui utilisent dans leur construction d'autres objets globaux. Par exemple tu pourrais avoir un fiasco si tu utilises...
Comme on dit, si tu sais pourquoi tu les utilises...
après c'est pas parce qu'on fait du bas niveau qu'on doit utiliser des pointeurs forcément.. le pointeur d'ailleurs est une indirection et...
En fait c'est pas une machine à état que tu veux faire?
auto_ptr n'existe plus (il était mal fait et ne devait pas être utilisé dans les containers par ex.) Maintenant c'est std::unique_ptr et std::shared_ptr.
auto wPtr = std::make_unique< Widget >();
Sans "écrire" de new, mais ça en fera un.
Après, hors polymorphisme dynamique et cas spéciaux, par défaut tu dois faire:
Widget w;
En C++ par défaut on utilise pas de pointeurs, et on passe les données soit par référence ou par copie, sachant qu'il existe des "référence const" qui ne évitent les copies inutiles.
On utilise...
Tu peux faire une std::map< std::string, int > où tu rajoutes tes stats:
std::map< std::string, int > stats;
stats[ "v" ] = 1;
stats[ "i" ] = 50;
En C++ on peut maintenant utiliser les user-defined literals, où on définit des unités pour les données et donc on vérifie à la compil que ce que l'on fait a du sens.
voir aussi cette...