Référence avant par rapport à la déclaration avant
Im un peu confus. Quelle est la différence entre l'avant de déclaration et de référence vers l'avant? Déclaration anticipée est, dans ma tête, lorsque vous déclarez une fonction qui n'est pas encore mis en œuvre, mais est-ce incorrect? Avez-vous de regarder à cette situation, soit de déclarer un cas de "référence vers l'avant" ou "déclaration anticipée"?
source d'informationauteur mslot
Vous devez vous connecter pour publier un commentaire.
De Wikipedia:
Un avant la déclaration de est la déclaration d'une méthode ou une variable avant de l'implémenter et à utiliser. Le but de la déclaration est d'économiser le temps de compilation.
La déclaration anticipée de la cause d'une variable d'espace de stockage pour être mis de côté, de sorte que vous pouvez ensuite définir la valeur de cette variable.
L'avant de la déclaration d'une fonction est aussi appelée un "prototype de fonction," et est une déclaration qui indique au compilateur que la fonction de type de retour est, quel est le nom de la fonction, et les types de ses paramètres. Les compilateurs de langages tels que C/C++ et Pascal magasin déclaré symboles (qui incluent des fonctions) dans une table de recherche et de références comme on vient de partout dans votre code. Ces compilateurs lire votre code de manière séquentielle, qui est, de haut en bas, donc si vous n'avez pas à déclarer avant, le compilateur découvre un symbole qu'il ne peut pas référence dans la table de recherche, et il génère une erreur qu'il ne sait pas comment répondre à la fonction.
L'avant de la déclaration est une allusion au compilateur que vous avez défini (rempli la mise en œuvre de la fonction d'ailleurs.
Par exemple:
Mais, vous demandez-vous, pourquoi ne pas simplement avoir le compilateur de faire deux passes sur chaque fichier source: le premier index de tous les symboles à l'intérieur, et la seconde pour analyser les références et les rechercher? Selon Dan Histoire:
En Java et en C#, les identifiants sont reconnues automatiquement à partir des fichiers sources et de les lire directement à partir de dynamique de la bibliothèque de symboles. Dans ces langues, les fichiers d'en-tête ne sont pas nécessaires pour la même raison.
Un référence vers l'avant est à l'opposé. Il se réfère à l'utilisation d'une entité avant sa déclaration. Par exemple:
Note que "référence vers l'avant" est parfois utilisé, bien que moins souvent, comme un synonyme de "déclaration anticipée."
en avant les déclarations sont utilisés pour permettre à un seul passage de la compilation d'un langage (C, Pascal).
si les références vers l'avant sont autorisés, sans déclaration anticipée (Java, C#), un deux-pass compilateur est nécessaire.