Domande taggate «c++11»

Utilizzare questo tag per il codice che deve essere compilato come C ++ 11 (non utilizzando alcuna funzionalità introdotta in C ++ 14 o successive).

8
Quando dovrei davvero usare noexcept?
La noexceptparola chiave può essere applicata in modo appropriato a molte firme di funzioni, ma non sono sicuro di quando dovrei considerare di usarlo nella pratica. Sulla base di ciò che ho letto finora, l'aggiunta dell'ultimo minuto noexceptsembra affrontare alcuni problemi importanti che sorgono quando si lanciano costruttori di mosse. …

6
Quali sono gli scopi principali dell'uso di std :: forward e quali problemi risolve?
In perfetto inoltro, std::forwardviene utilizzato per convertire i riferimenti rvalue nominati t1e t2in riferimenti rvalue senza nome. Qual è lo scopo di farlo? In che modo ciò influirebbe sulla funzione chiamata innerse lasciamo t1e t2come valori? template <typename T1, typename T2> void outer(T1&& t1, T2&& t2) { inner(std::forward<T1>(t1), std::forward<T2>(t2)); }

6
Valori C ++ 11 e spostamento della confusione semantica (istruzione return)
Sto cercando di capire i riferimenti ai valori e spostare la semantica di C ++ 11. Qual è la differenza tra questi esempi e quale di essi non eseguirà alcuna copia vettoriale? Primo esempio std::vector<int> return_vector(void) { std::vector<int> tmp {1,2,3,4,5}; return tmp; } std::vector<int> &&rval_ref = return_vector(); Secondo esempio std::vector<int>&& …




10
Contenitori STL C ++ a stampa graziosa
Si prega di prendere nota degli aggiornamenti alla fine di questo post. Aggiornamento: ho creato un progetto pubblico su GitHub per questa libreria! Vorrei avere un unico modello che si occupasse una volta per tutte di stampare graziosamente tutti i contenitori STL tramite operator<<. In pseudo codice, sto cercando qualcosa …

9
Che cos'è std :: promise?
Sono abbastanza familiarità con C ++ 11 di std::thread, std::asynce std::futurecomponenti (ad esempio, vedere questa risposta ), che sono straight-forward. Tuttavia, non riesco a capire cosa std::promisesia, cosa faccia e in quali situazioni sia meglio utilizzato. Lo stesso documento standard non contiene molte informazioni oltre alla sua sinossi di classe, …

1
Typedef modello C ++
Ho una lezione template<size_t N, size_t M> class Matrix { // .... }; Voglio fare un typedefche crea un Vector(vettore di colonna) che è equivalente a a Matrixcon dimensioni N e 1. Qualcosa del genere: typedef Matrix<N,1> Vector<N>; Che produce errori di compilazione. Quanto segue crea qualcosa di simile, ma …
369 c++  templates  c++11  typedef 

5
Restituisce unique_ptr dalle funzioni
unique_ptr<T>non consente la costruzione di copie, ma supporta la semantica di spostamento. Tuttavia, posso restituire a unique_ptr<T>da una funzione e assegnare il valore restituito a una variabile. #include <iostream> #include <memory> using namespace std; unique_ptr<int> foo() { unique_ptr<int> p( new int(10) ); return p; // 1 //return move( p ); …
367 c++  c++11  unique-ptr 

5
Compilazione di C ++ 11 con g ++
Sto cercando di aggiornare il mio compilatore C ++ a C ++ 11. Ho cercato un po 'e sono giunto alla conclusione che devo usare la bandiera -std=c++0xo -std=gnu++0x, ma non conosco molte cose sulle bandiere. Qualcuno può aiutarmi? (Sto usando Ubuntu 12.04.) Ecco l'errore che ottengo dal compilatore quando …
367 c++  c++11  g++  flags 

14
Come posso attivare C ++ 11 in CMake?
Quando provo ad eseguire un makefile generato da CMake per compilare il mio programma, ottengo l'errore l'intervallo basato su loop non è supportato in modalità C ++ 98. Ho provato ad aggiungere add_definitions(-std=c++0x)al mio CMakeLists.txt, ma non ha aiutato. Ho provato anche questo: if(CMAKE_COMPILER_IS_GNUCXX) add_definitions(-std=gnu++0x) endif() Quando lo faccio g++ …
356 c++11  cmake 


14
Quando utilizzare la funzionalità constexpr in C ++ 11?
Mi sembra che avere una "funzione che restituisce sempre 5" stia rompendo o diluendo il significato di "chiamare una funzione". Ci deve essere un motivo o una necessità per questa funzionalità o non sarebbe in C ++ 11. Perché è lì? // preprocessor. #define MEANING_OF_LIFE 42 // constants: const int …
337 c++  c++11  constexpr 


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.