Aujourd'hui au travail je suis tombé sur une erreur stupide, sur laquelle il avait perdu quelques précieuses minutes. Peut-être il n'y avait rien à se vanter, mais nous avons attiré l'attention. Ajouterait à un foncteur module et je voulais le tester, comme ce code (ou pseudo):
void Init() { Functor<CFoo> func(&mFoo, &CFoo::foo); myObj->SetFunctor(&func); } Imaginez ma surprise quand plus tard, je voulais appeler ma functora, bien sûr, au-delà de la méthode (Init)
Je me demande ce qui s'est passé à l'indicateur FUNC, et pour lui après avoir quitté l'init?
Le usprawidlenie je peux dire seulement que la plate-forme sur laquelle il a été écrit à ne pas utiliser le débogueur Visual STUDIO et ont besoin d'un outil de débogage et externes est assez "lourde".
Une autre chose que je tiens à mentionner est la différence dans les performances de vitesse de la pré-et post-incrémentation. Une fois, dans un livre que j'ai lu un livre assez ancien pour être utilisé au lieu de pré incrémentation de post-incrémentation, et qui est supposée être plus rapide. À ce jour, un collègue m'a demandé de le souligner dans mon code, alors j'ai décidé de vérifier sur l'exemple du compilateur de Visual Studio 2008 Express. J'ai fait un exemple simple (1000x boucle faite avec mnożeniami plusieurs dodawaniami centre) et avec l'aide d'un collègue qui connaît le zdeassemblorawalismy assembleur il. Et ce qu'il s'est avéré? Les deux codes sont identiques
Peut-être que dans certains exemples complexes est une énorme différence, mais avec l'habitude des forums et inkrementacjach aux compilateurs d'aujourd'hui et les transformateurs, il n'ya aucune différence (du moins je le pense
.






