Est-il possible de stocker un pack de paramètres d'une manière ou d'une autre pour une utilisation ultérieure? template <typename... T> class Action { private: std::function<void(T...)> f; T... args; // <--- something like this public: Action(std::function<void(T...)> f, T... args) : f(f), args(args) {} void act(){ f(args); // <--- such that this …
std::arrayest largement supérieur aux tableaux C. Et même si je veux interagir avec le code hérité, je peux simplement utiliser std::array::data(). Y a-t-il une raison pour laquelle je voudrais un jour un tableau à l'ancienne?
Disons que j'ai un type et que je veux rendre son constructeur par défaut privé. J'écris ce qui suit: class C { C() = default; }; int main() { C c; // error: C::C() is private within this context (g++) // error: calling a private constructor of class 'C' (clang++) …
Je me demande s'il est possible d'écrire une fonction qui renvoie une fonction lambda en C ++ 11. Bien sûr, un problème est de savoir comment déclarer une telle fonction. Chaque lambda a un type, mais ce type n'est pas exprimable en C ++. Je ne pense pas que cela …
C'est un peu une question en deux parties, tout sur l'atomicité de std::shared_ptr: 1. Autant que je sache, std::shared_ptrc'est le seul pointeur intelligent <memory>qui soit atomique. Je me demande s'il existe une version non atomique de std::shared_ptrdisponible (je ne vois rien dedans <memory>, donc je suis également ouvert aux suggestions …
J'essayais de créer un vecteur de lambda, mais j'ai échoué: auto ignore = [&]() { return 10; }; //1 std::vector<decltype(ignore)> v; //2 v.push_back([&]() { return 100; }); //3 Jusqu'à la ligne n ° 2, il compile bien . Mais la ligne n ° 3 donne une erreur de compilation : …
Je suis très confus au sujet de l'initialisation de la valeur et par défaut et zéro. et surtout lorsqu'ils se lancent dans les différents standards C ++ 03 et C ++ 11 (et C ++ 14 ). Je cite et j'essaie d'étendre une très bonne réponse Value- / Default- / …
Si je déclare un objet enveloppé dans un pointeur partagé: std::shared_ptr<myClass> myClassObject(new myClass()); alors j'ai voulu le passer comme argument à une méthode: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr<myClass> arg1) { arg1->someField = 4; } Est-ce que ce qui précède incrémente simplement le nombre de références de shared_pt et tout …
En C ++, il est possible d'utiliser le staticmot - clé dans une unité de traduction pour affecter la visibilité d'un symbole (déclaration de variable ou de fonction). Dans n3092, ceci était obsolète: Annexe D.2 [depr.static] L'utilisation du mot clé static est déconseillée lors de la déclaration d'objets dans la …
Salut, j'essaye d'utiliser std::threadavec G ++. Voici mon code de test #include <thread> #include <iostream> int main(int, char **){ std::thread tt([](){ std::cout<<"Thread!"<<std::endl; }); tt.join(); } Il compile, mais lorsque j'essaye de l'exécuter, le résultat est: terminate called after throwing an instance of 'std::system_error' what(): Operation not permitted Aborted Ma version …
J'ai un projet qui utilise actuellement C ++ 11/14, mais il nécessite quelque chose comme std::filesystem, qui n'est disponible qu'en C ++ 17, et par conséquent je n'ai pas la chance de l'utiliser actuellement. Je vois, cependant, qu'il est disponible dans mon compilateur actuel en tant que std::experimental::filesystem. Est-ce une …
Pourquoi C ++ 11 fait-il participer les fonctions « deleted» à la résolution des surcharges ? Pourquoi est-ce utile? Ou en d'autres termes, pourquoi sont-ils masqués au lieu d'être entièrement supprimés?
C ++ 0x ajoute hash<...>(...). Je n'ai pas trouvé de hash_combinefonction cependant, comme présenté en boost . Quelle est la manière la plus propre de mettre en œuvre quelque chose comme ça? Peut-être, en utilisant C ++ 0x xor_combine?
En C ++ 11, vous pouvez utiliser un basé sur une plage for, qui agit comme le foreachd'autres langages. Cela fonctionne même avec des tableaux C simples: int numbers[] = { 1, 2, 3, 4, 5 }; for (int& n : numbers) { n *= 2; } Comment sait-il quand …
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.