Aide sur la POO - page 9

 
fxsaber #:

Il ne s'agit pas de ma mise en œuvre. Vous pouvez le mesurer à l'ancienne.

Je l'ai déjà fait. Les données sont publiées. Je vais réessayer dans un ordre différent. Mais même selon vos données, il n'y a pas de performance à travailler avec un astérisque.
 
Toutefois, j'aimerais entendre un avis motivé en faveur du travail avec les panneaux indicateurs. Tout ce qui a été exprimé jusqu'à présent est : "soi-disant plus rapide", "soi-disant obligeant le programmeur à surveiller la mémoire et à ne pas allouer d'espace inutile" et "vous êtes un idiot".
 
Vasiliy Sokolov #:
Néanmoins, j'aimerais entendre un avis motivé en faveur du travail avec des pointeurs. Tout ce qui a été exprimé jusqu'à présent est : "prétendument plus rapide", "prétendument oblige les programmeurs à surveiller la mémoire et à ne pas allouer d'espace inutile" et "vous êtes un idiot" - bien sûr.

Gauche-droite confondue aussi ou pas ?

C'est juste un désordre scandaleux dans la tête. Les pointeurs sont plus lents, pas plus rapides. L'exposé sur la nécessité de surveiller la mémoire s'inscrivait dans le contexte des différences de style de programmation dans les langages avec et sans Garbage Collector.

Vassia, tu ne te souviens pas de la position que tu as prise dans l'argumentation après 2-3 posts déjà, ça va dans un sens et dans l'autre.

 
fxsaber #:

Un exemple d'un problème potentiel serait bien.

Ihor Herasko #:

Encore un point. Il est préférable de créer des tableaux d'objets au moyen d'un pointeur. Sinon, vous obtiendrez un tableau dans la mémoire de la pile qui est très faible :

J'ai eu un exemple d'épuisement de la mémoire de la pile uniquement dans le cas d'un tri récursif avec une grande quantité de données.
Le programme s'est juste arrêté.

En outre, vous pouvez utiliser une déclaration globale et dans ce cas, il ne s'agit pas d'une mémoire de pile.
Vous n'êtes pas d'accord ?

 
Ihor Herasko #:

Ce n'est pas un problème, encore moins un problème potentiel. C'est juste les particularités de la gestion de la mémoire dans MT. Voici un tableau statique :

Et voici un tableau dynamique :

Dans ce cas, tout se compile et fonctionne.

Je suis d'accord, mais je n'ai jamais eu de tels volumes dans ma pratique.
En règle générale, j'ai besoin d'un calcul rapide de la "queue" d'un indicateur, par exemple, sans appeler la fonction de l'indicateur (bibliothèque) elle-même,
. J'ai donc appliqué un calcul plus rapide des valeurs de l'indicateur basé sur une formule. Dans ce cas, la consommation de mémoire en général est très faible.
En général, je recommande cette approche à tous les développeurs à l'avenir pour économiser la mémoire et le temps de calcul des fonctions à virgule flottante.
Si possible, de nombreuses données doivent être converties au format entier - cela accélère vraiment le processus.

P.S. : Bien sûr, ce qui précède est un cas d'économie, par exemple, de quelques centaines de millisecondes.

 
Dmitiry Ananiev:

Je fais un cours comme ça.

Maintenant, je veux appeler un tableau d'objets :

Comment alors créer rapidement un tableau d'objets si le constructeur a des paramètres au niveau global ?

Par exemple ? créer d'abord des objets en modifiant le constructeur et ensuite comment remplacer les objets dans OnInit par des symboles ?

Peut-être existe-t-il une solution plus simple ?

class Strategy1
{
        Strategy1();
 };

class Strategy2
{
        Strategy (string sym);
}

Dans la déclaration de la classe Strategy2, le nom du constructeur de la classe lui-même manque "2", sinon ce n'est pas un constructeur.