Je suis tombé sur un programme avec 10 en-tête et 10 fichiers source. J'ai lu dans mon livre de texte que les fonctions sont appelées depuis le principal. Mais comment puis-je transmettre des données à tant de fonctions de main()?Fonctions d'appel de main() en C++
Répondre
Les fonctions n'ont pas nécessairement besoin d'être appelées depuis le principal. Ils peuvent être appelés par d'autres fonctions. Par exemple:
int foo(int x)
{
return x*x;
}
int bar(int x)
{
return foo(x) + 1;
}
int main()
{
int a = bar(42);
std::cout << a << std::endl;
return 0;
}
Notez que foo()
est jamais appelé directement à partir main()
.
Merci. Mais mon programme a 100 classes et plus de 1000 fonctions réparties sur de nombreux fichiers. Comment les appeler de main()? Quelle est la procédure adoptée? – Supriyo
Beaucoup de ces classes et fonctions dépendront d'autres classes et fonctions, et ainsi de suite. Je soupçonne que vous avez seulement besoin d'appeler quelques-uns de haut niveau de la main, et il va couler à partir de là. Vous devrez étudier le code pour déterminer quels sont vos «points d'entrée». –
Une bonne façon de naviguer rapidement dans le code consiste à exécuter le code via un programme de documentation appelé Doxygen. Il produira des fichiers de documentation HTML avec beaucoup de liens hypertexte, ainsi que des graphiques de dépendance d'en-tête/classe. Assurez-vous que vous activez l'option SOURCE_BROWSER, afin qu'elle produise des versions HTML du code source avec des liens hypertexte vers toutes les classes, structures, fonctions, etc. –
À mon avis, cette phrase n'est pas correct, mais je suppose que ce qui était censé dire pourrait être reformulée comme « Chaque méthode de fonction ou de la classe que vous mettre en œuvre et de l'utilisation serait en quelque sorte appelé à partir de votre routine main()
"
et en quelque sorte dans ce contexte serait en fait dire directement ou indirectement - par d'autres fonctions/wrappers de fonction.
Quoi qu'il en soit, l'idée doit être claire - toute action significative qui se fait dans votre application est réellement fait en utilisant un certain appel de fonction de votre routine main()
, qui est parfois aussi appelé l'application racine (essayer de penser votre application sous la forme d'un arbre d'appels de fonction, puis votre fonction main()
serait en haut de votre arbre).
- 1. les fonctions d'appel de main() C++
- 2. Combien d'arguments a main() en C/C++
- 3. Initialisation d'un vecteur avant main() en C++
- 4. fonctions de sortie en C
- 5. C++ fonctions en ligne
- 6. fonctions en ligne en C++
- 7. C++ - arguments à la main
- 8. comment éviter d'écrire main() trop de fois en C?
- 9. initialisation de la Force singleton en C++ avant main()
- 10. C++ classe pourquoi besoin de main?
- 11. Documentation des fonctions en C++ avec Doxygen
- 12. Image Fonctions arithmétiques en C++
- 13. Fonctions/Méthodes en Objective C!
- 14. Opérateurs vs fonctions en C/C++
- 15. Pointeurs de fonctions thread-safe en C++
- 16. Déclarations de fonctions externes DLL en C#
- 17. Comment obtenir le premier paramètre dans main() en C++?
- 18. En C, comment la méthode main() est-elle initialement appelée?
- 19. Passage des fonctions membres en C#
- 20. allocation de mémoire pour les fonctions membres en C++
- 21. Fonctions de cryptage C#
- 22. C# fonctions de fil
- 23. Fonction de pointeurs vers les fonctions membres en C++
- 24. Qu'est-ce que « ne peut convertir pointeur « this » de « main const » à « main & » signifie? (C++)
- 25. Poignée de main NodeJS WebSocket en panne?
- 26. Prise en main de PHP Extension-Development
- 27. Affichage de chaîne de main de poker
- 28. Fonctions immuables en cache ou précalculées en C#/C++
- 29. Comment accéder aux paramètres de ligne de commande en dehors de Main en C#
- 30. impossible d'appeler les fonctions C++ en qt
Cela dépend entièrement du type de données et du but pour lequel les fonctions en ont besoin. Peut-être que vous pouvez donner un exemple, même en pseudocode. –
De la même manière que vous transmettez des données à n'importe quelle fonction. – Joel
Je vous recommande de continuer à lire votre manuel ... Je suis sûr que tout deviendra clair alors. –