Questions marquées «c++11»

Utilisez cette balise pour le code qui doit être compilé en C ++ 11 (sans utiliser les fonctionnalités introduites en C ++ 14 ou version ultérieure).


5
Puis-je lister un vecteur de type déplacement uniquement?
Si je passe le code suivant via mon instantané GCC 4.7, il essaie de copier le unique_ptrs dans le vecteur. #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only() }; } Évidemment, cela ne peut pas fonctionner car il std::unique_ptrn'est pas copiable: …

2
Ce code de la section 36.3.6 de la 4e édition de «The C ++ Programming Language» a-t-il un comportement bien défini?
Dans Bjarne Stroustrup's The C ++ Programming Language 4th edition section 36.3.6 STL-like Operations, le code suivant est utilisé comme exemple de chaînage : void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( "even" …


3
Quand utiliser l'initialiseur entre accolades?
En C ++ 11, nous avons cette nouvelle syntaxe pour l'initialisation des classes qui nous donne un grand nombre de possibilités pour initialiser des variables. { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); std::complex<double> a{3,4}; …

8
C ++ lambda avec des captures comme pointeur de fonction
Je jouais avec les lambdas C ++ et leur conversion implicite en pointeurs de fonction. Mon exemple de départ les utilisait comme rappel pour la fonction ftw. Cela fonctionne comme prévu. #include <ftw.h> #include <iostream> using namespace std; int main() { auto callback = [](const char *fpath, const struct stat …


15
C ++ 11 a-t-il des propriétés de style C #?
En C #, il existe un bon sucre de syntaxe pour les champs avec getter et setter. De plus, j'aime les propriétés auto-implémentées qui me permettent d'écrire public Foo foo { get; private set; } En C ++, je dois écrire private: Foo foo; public: Foo getFoo() { return foo; …
93 c#  c++  class  c++11 

2
Que signifie [=] en C ++?
Je veux savoir ce que [=]fait? Voici un petit exemple template <typename T> std::function<T (T)> makeConverter(T factor, T offset) { return [=] (T input) -> T { return (offset + input) * factor; }; } auto milesToKm = makeConverter(1.60936, 0.0); Comment le code fonctionnerait-il au []lieu de [=]? Je suppose …
93 c++  c++11  lambda 


4
Comment obtenir la durée, sous forme d'int milli et de secondes flottantes à partir de <chrono>?
J'essaie d'utiliser la bibliothèque chrono pour les minuteries et les durées. Je veux pouvoir avoir un Duration frameStart;(depuis le début de l'application) et un Duration frameDelta;(temps entre les images) J'ai besoin de pouvoir obtenir la frameDeltadurée en millisecondes et en flottant secondes. Comment faites-vous cela avec les nouvelles &lt;chrono&gt;bibliothèques c …
93 c++  c++11  timer  chrono 

4
Passer shared_ptr <Derived> comme shared_ptr <Base>
Quelle est la meilleure méthode pour passer un shared_ptrd'un type dérivé à une fonction qui prend un shared_ptrd'un type de base? Je passe généralement shared_ptrs par référence pour éviter une copie inutile: int foo(const shared_ptr&lt;bar&gt;&amp; ptr); mais cela ne fonctionne pas si j'essaye de faire quelque chose comme int foo(const …


2
Implémentation lambda C ++ 11 et modèle de mémoire
J'aimerais avoir des informations sur la façon de penser correctement les fermetures C ++ 11 et std::functionen termes de mise en œuvre et de gestion de la mémoire. Bien que je ne crois pas à l'optimisation prématurée, j'ai l'habitude de considérer attentivement l'impact de mes choix sur les performances lors …
92 c++  memory  lambda  c++11 


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.