preguntar acerca de c++11
2
réponses
Comment fonctionne std::tie?
J'ai utilisé std::tie sans y réfléchir beaucoup. Cela fonctionne donc je viens d'accepter que:
auto test()
{
int a, b;
std::tie(a, b) = std::make_tuple(2, 3);
// a is now 2, b is now 3
return a + b; // 5
}
Mais comment fonctionne cett …
demandé sur
1970-01-01 00:33:37
12
réponses
itérer sur tuple
Comment puis-je itérer sur un tuple (en utilisant C++11)? J'ai essayé ce qui suit, mais cela ne fonctionne pas:
for(int i=0; i<std::tuple_size<T...>::value; ++i)
std::get<i>(my_tuple).do_sth();
Erreur 1: désolé, non implémenté …
demandé sur
1970-01-01 00:33:29
7
réponses
Pourquoi ne pas appeler nullptr NULL?
En C++11, le mot clé nullptr a été ajouté en tant que constante de pointeur null plus sûre, puisque la définition commune précédente de NULL as 0 a quelques problèmes.
Pourquoi le Comité de normalisation a-t-il choisi de ne pas appeler la nouvelle c …
demandé sur
1970-01-01 00:33:35
3
réponses
Comment déclarer une fonction qui accepte un lambda?
J'ai lu sur internet de nombreux tutoriels qui expliquaient comment utiliser lambdas avec la bibliothèque standard (comme std::find), et ils étaient tous très intéressants, mais je n'en ai trouvé aucun qui expliquait comment utiliser un lambda pour m …
demandé sur
1970-01-01 00:33:30
9
réponses
C++11 basé sur la plage pour les boucles sans variable de boucle
En C++ j'ai besoin de réitérer un certain nombre de fois, mais je n'ai pas besoin d'une variable d'itération. Par exemple:
for( int x=0; x<10; ++x ) {
/* code goes here, i do not reference "x" in this code */
}
Je me rends compte que je pe …
demandé sur
1970-01-01 00:33:33
4
réponses
c++ {*ce} à l’intérieur des accolades
Le code suivant compile bien:
g++ -std=c++11 test.cpp -Wall -Wextra -Wfatal-errors && ./a.out
Cependant, si je supprime les accolades de {*this} et utilise *this à la place, je vais faire face à une erreur:
Erreur: utilisation de la …
demandé sur
1970-01-01 00:33:37
5
réponses
Les utilisations de destructeur = supprimer;
Considérons la classe suivante:
struct S { ~S() = delete; };
Bref et dans le but de la question: Je ne peux pas créer des instances de S comme S s{}; car je ne pouvais pas les détruire.
Comme mentionné dans les commentaires, je peux toujours créer …
demandé sur
1970-01-01 00:33:36
8
réponses
C++ types de vue: passer par const & ou par valeur?
Cela est apparu dans une discussion de révision de code récemment, mais sans une conclusion satisfaisante. Les types en question sont analogues au C++ string_view TS. Ce sont de simples wrappers non propriétaires autour d'un pointeur et d'une longueu …
demandé sur
1970-01-01 00:33:34
10
réponses
Quel est le point d’une fonction virtuelle finale?
Wikipedia a l'exemple suivant sur le modificateur Final C++11:
struct Base2 {
virtual void f() final;
};
struct Derived2 : Base2 {
void f(); // ill-formed because the virtual function Base2::f has been marked final
};
Je ne comprends pa …
demandé sur
1970-01-01 00:33:32
4
réponses
Toujours déclarer std:: mutex comme mutable en C++11?
Après avoir regardé le discours D'Herb Sutter vous ne connaissez pas const et mutable , je me demande si je devrais toujours définir un mutex comme mutable? Si oui, je suppose que la même chose vaut pour tout conteneur synchronisé(par exemple, tbb:: …
demandé sur
1970-01-01 00:33:33