Au risque de me répéter, quel est l'interêt (autre que dogmatique bien sur, le dogme étant par définition l'inverse de l'évolution) de faire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| struct Foo {
int a, b;
}
function int bar(Foo foo) {
return foo.a + foo.b;
}
main {
Foo foo;
foo.a=1;
foo.b=2;
print( foo );
} |
ou
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| struct Foo {
int a, b;
function* int(Foo) bar;
}
function int bar(Foo foo) {
return foo.a + foo.b;
}
main {
Foo foo;
foo.a=1;
foo.b=2;
foo.bar=&bar;
print( foo.bar(foo) );
} |
ou
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| class Foo {
int a,b;
function int bar() {
return a+b;
}
}
main {
Foo foo;
foo.a=1;
foo.b=2;
print ( foo.bar() );
} |
quand un simple
Code:
1 2 3 4 5 6
| function int bar(int a, int b) {
return a+b;
}
main {
print( bar(1, 2) );
} |
suffit ?
Pourquoi compliquer à outrance et finir par rendre un code trop complexe ?
Chasser la mouche au canon de 406 c'est très élégant, c'est spectaculaire quand ça fonctionne, mais ne serait-ce pas un poil disproportionné ?
Dans le code ci-dessus, le but est d'ajouter deux entiers et d'afficher le résultat. Il est ou le besoin de créer une instance d'un objet ?
Sans parler du temps d'exécution et de la mémoire utilisée (et des fuites de la sus-nommée mémoire... :aie:
Pour planter le Gobelin dnas le sol, la massue du Troll suffit.
Pour planter le clou, faut passer au marteau.
Pour fermer une culasse, il faut une clé dynamométrique...
Normalement, pas besoin de développer plus, un autre l'a dit dans la suite de ce fil : le bon outil pour la bonne tâche...
Faut arréter la m........ intellectuelle...