Questions marquées «c++»

C ++ est un langage de programmation à usage général. Il a été initialement conçu comme une extension de C et a une syntaxe similaire, mais c'est maintenant un langage complètement différent. Utilisez cette balise pour les questions sur le code (à compiler) avec un compilateur C ++. Utilisez une balise spécifique à la version pour les questions liées à une révision standard spécifique [C ++ 11], [C ++ 14], [C ++ 17] ou [C ++ 20], etc.

14
Dois-je hériter de std :: exception?
J'ai vu au moins une source fiable (une classe C ++ que j'ai prise) recommander que les classes d'exceptions spécifiques à l'application en C ++ devraient hériter de std::exception. Je ne suis pas sûr des avantages de cette approche. En C #, les raisons d'hériter de ApplicationExceptionsont claires: vous obtenez …

4
Pourquoi copions-nous puis déplaçons-nous?
J'ai vu du code quelque part dans lequel quelqu'un a décidé de copier un objet et de le déplacer par la suite vers une donnée membre d'une classe. Cela m'a laissé dans la confusion en ce sens que je pensais que tout l'intérêt de bouger était d'éviter de copier. Voici …

6
(Comment) puis-je compter les éléments dans une énumération?
Cette question m'est venue à l'esprit, quand j'avais quelque chose comme enum Folders {FA, FB, FC}; et voulait créer un tableau de conteneurs pour chaque dossier: ContainerClass*m_containers[3]; .... m_containers[FA] = ...; // etc. ( En utilisant des cartes , il est beaucoup plus élégante à l' utilisation: std::map<Folders, ContainerClass*> m_containers;) …
98 c++  count  enumeration 

14
Comment écrire la base de journal (2) en c / c ++
Existe-t-il un moyen d'écrire la fonction de journal (base 2)? Le langage C a 2 fonctions intégrées - >> 1. logqui est la base e. 2. log10base 10; Mais j'ai besoin de la fonction de journal de la base 2.Comment calculer cela.
98 c++  c 

4
Comment std :: function est-il implémenté?
Selon les sources que j'ai trouvées, une expression lambda est essentiellement implémentée par le compilateur créant une classe avec un opérateur d'appel de fonction surchargé et les variables référencées en tant que membres. Cela suggère que la taille des expressions lambda varie et que, compte tenu de suffisamment de variables …
98 c++  c++11  lambda 


15
std :: string pour flotter ou doubler
Je suis en train de convertir std::stringà float/double. J'ai essayé: std::string num = "0.6"; double temp = (double)atof(num.c_str()); Mais il renvoie toujours zéro. D'autres moyens?
98 c++ 





6
Passer un std :: array de taille inconnue à une fonction
En C ++ 11, comment pourrais-je écrire une fonction (ou une méthode) qui prend un std :: array de type connu mais de taille inconnue? // made up example void mulArray(std::array<int, ?>& arr, const int multiplier) { for(auto& e : arr) { e *= multiplier; } } // lets imagine …
98 c++  c++11  stdarray 

7
Avertissement C ++: division du double par zéro
Cas 1: #include <iostream> int main() { double d = 15.50; std::cout<<(d/0.0)<<std::endl; } Il compile sans aucun avertissement et imprime inf. OK, C ++ peut gérer la division par zéro, ( voir en direct ). Mais, Cas 2: #include <iostream> int main() { double d = 15.50; std::cout<<(d/0)<<std::endl; } Le …

9
comment convertir de int en char *?
Le seul moyen que je connaisse est: #include <sstream> #include <string.h> using namespace std; int main() { int number=33; stringstream strs; strs << number; string temp_str = strs.str(); char* char_type = (char*) temp_str.c_str(); } Mais existe-t-il une méthode avec moins de frappe?

2
Quelles sont les règles du jeton «…» dans le contexte des modèles variadiques?
En C ++ 11, il existe des modèles variadiques comme celui-ci: template< class T, class... Args > unique_ptr<T> make_unique( Args&&... args ) { return unique_ptr<T>(new T(std::forward<Args>(args)...)); } Il y a quelques curiosités à ce sujet: L'expression std::forward<Args>(args)...utilise les deux Argset argsun seul ...jeton. De plus, std::forwardune fonction de modèle non …

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.