Questions marquées «c++»

14
std :: bit_cast avec std :: array

Dans son récent discours «Type punning en C ++ moderne», Timur Doumler a déclaré que std::bit_castcela ne peut pas être utilisé pour convertir un bit floaten un unsigned char[4]car les tableaux de style C ne peuvent pas être renvoyés d'une fonction. Nous devons utiliser std::memcpyou attendre C ++...

14
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]; };...

14
Un nom de classe complet jusqu'à la portée globale est-il jamais requis pour les définitions de fonctions membres hors ligne?

Cette question m'a amené à me demander s'il est jamais utile / nécessaire de qualifier pleinement les noms de classe (y compris l'opérateur de portée globale) dans une définition de fonction membre hors classe. D'une part, je n'ai jamais vu cela se faire auparavant (et la syntaxe pour le faire...

14
Est-ce un bogue dans std :: gcd?

Je suis tombé sur ce comportement std::gcdque j'ai trouvé inattendu: #include <iostream> #include <numeric> int main() { int a = -120; unsigned b = 10; //both a and b are representable in type C using C = std::common_type<decltype(a), decltype(b)>::type; C ca = std::abs(a); C cb =...

14
Comment fonctionnent les lancers et les saisies?

Avec ce code: int main() { try { throw -1; } catch (int& x) { std::cerr << "We caught an int exception with value: " << x << std::endl; } std::cout << "Continuing on our merry way." << std::endl; return 0; } On a: /tmp$ ./prorgam.out Continuing on our merry way We...