Questions marquées «c++17»

C ++ 17 est le nom du standard C ++ approuvé en 2017. Il s'appuie sur l'ancien standard C ++ 14, améliorant le langage de base et la bibliothèque standard, et ajoutant quelques nouvelles fonctionnalités de langage.


3
Surcharger une fonction lambda
Comment surcharger une simple fonction lambda locale? SSE du problème d'origine: #include <iostream> #include <map> void read() { static std::string line; std::getline(std::cin, line); auto translate = [](int idx) { constexpr static int table[8]{ 7,6,5,4,3,2,1,0 }; return table[idx]; }; auto translate = [](char c) { std::map<char, int> table{ {'a', 0}, {'b', …

1
Comment fonctionne l'implémentation C ++ nullptr?
Je suis curieux de savoir comment ça nullptrmarche. Les normes N4659 et N4849 stipulent: il doit avoir du type std::nullptr_t; vous ne pouvez pas prendre son adresse; il peut être directement converti en pointeur et pointeur en membre; sizeof(std::nullptr_t) == sizeof(void*); sa conversion en boolest false; sa valeur peut être …



1
Opérateur ambigu dans gcc
J'ai fait un modèle de fonction pour imprimer certains des conteneurs stl #include <iostream> #include <vector> #include <string> template <template <typename, typename> class C, typename T, typename A> std::ostream& operator<<(std::ostream& os, const C<T, A>& container) { for (auto& elem : container) { os << elem << " "; } return …
13 c++  c++17 





1
Sort non qualifié () - pourquoi compile-t-il lorsqu'il est utilisé sur std :: vector et non sur std :: array, et quel compilateur est correct?
Lorsque vous faites appel std::sort()à std::array: #include <vector> #include <array> #include <algorithm> int main() { std::vector<int> foo{4, 1, 2, 3}; sort(begin(foo), end(foo)); std::array<int, 4> foo2{4, 1, 2, 3}; sort(begin(foo2), end(foo2)); } Gcc et clang renvoient tous deux une erreur sur le tri sur std::array- clang dit erreur: utilisation de l'identifiant …
11 c++  c++17 




3
Puis-je utiliser std :: transform en place avec une politique d'exécution parallèle?
Si je ne me trompe pas, je peux faire std::transformfonctionner en place en utilisant la même plage qu'un itérateur d'entrée et de sortie. Supposons que j'ai un std::vectorobjet vec, alors j'écrirais std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) en utilisant une opération unaire appropriée unary_op. En utilisant la norme C ++ 17, je voudrais exécuter la …

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.