C ++ prend-il en charge les blocs « enfin »? Qu'est-ce que l' idiome RAII ? Quelle est la différence entre l'idiome RAII de C ++ et l'instruction 'using' de C # ?
La plupart des gens disent de ne jamais jeter d'exception d'un destructeur - cela entraîne un comportement indéfini. Stroustrup fait valoir que "le destructeur de vecteurs invoque explicitement le destructeur pour chaque élément. Cela implique que si un destructeur d'élément lance, la destruction de vecteur échoue ... Il n'y a …
Dois-je appeler manuellement close()lorsque j'utilise un std::ifstream? Par exemple, dans le code: std::string readContentsOfFile(std::string fileName) { std::ifstream file(fileName.c_str()); if (file.good()) { std::stringstream buffer; buffer << file.rdbuf(); file.close(); return buffer.str(); } throw std::runtime_exception("file not found"); } Dois-je appeler file.close()manuellement? Ne devrait pas ifstreamutiliser RAII pour fermer des fichiers?
En pratique avec C ++, qu'est-ce que RAII , quels sont les pointeurs intelligents , comment sont-ils mis en œuvre dans un programme et quels sont les avantages d'utiliser RAII avec des pointeurs intelligents?
Dans l'état actuel des choses, cette question ne convient pas à notre format de questions-réponses. Nous nous attendons à ce que les réponses soient étayées par des faits, des références ou une expertise, mais cette question suscitera probablement un débat, des arguments, un sondage ou une discussion approfondie. Si vous …
Quelque chose que j'ai souvent utilisé en C ++ était de laisser une classe Agérer une condition d'entrée et de sortie d'état pour une autre classe B, via le Aconstructeur et le destructeur, pour s'assurer que si quelque chose dans cette portée lançait une exception, alors B aurait un état …
Pourriez-vous, les développeurs C ++, s'il vous plaît nous donner une bonne description de ce qu'est RAII, pourquoi il est important, et si oui ou non il pourrait avoir une pertinence pour d'autres langages? Je ne connais un peu. Je crois que cela signifie «L'acquisition de ressources est l'initialisation». Cependant, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.