Le code suivant comstack bien: g++ -std=c++11 test.cpp -Wall -Wextra -Wfatal-errors && ./a.out Cependant, si je supprime les accolades de {*this} et que je les utilise à la place, je ferai face à une erreur: erreur: utilisation de la fonction supprimée ‘Obj :: Position :: Position (Obj :: Position &&)’ Quelle est la différence entre […]
Ou “comment les Russes jettent-ils des exceptions?” La définition de std :: exception est la suivante: namespace std { class exception { public: exception() throw(); exception(const exception&) throw(); exception& operator=(const exception&) throw(); virtual ~exception() throw(); virtual const char* what() const throw(); }; } Une école de pensée populaire pour concevoir des hiérarchies d’exception consiste à […]
Je reçois une erreur C ++ avec le threading: terminate called without an active exception Aborted Voici le code: #include #include #include #include template class blocking_stream { public: blocking_stream(size_t max_buffer_size_) : max_buffer_size(max_buffer_size_) { } //PUSH data into the buffer blocking_stream &operator<<(TYPE &other) { std::unique_lock mtx_lock(mtx); while(buffer.size()>=max_buffer_size) stop_if_full.wait(mtx_lock); buffer.push(std::move(other)); mtx_lock.unlock(); stop_if_empty.notify_one(); return *this; } //POP data […]
struct A {}; struct B : A {}; int main() { A* a = new B(); B* b = dynamic_cast(a); } donne: ne peut pas dynamic_cast ‘a’ (de type ‘struct A *’) pour taper ‘struct B *’ (le type de source n’est pas polymorphe) Comment puis-je faire A polymorphe? Je veux le lancer en toute […]
Pourquoi le code suivant se bloque-t-il sur Visual Studio et GCC? Pour que cela tombe en panne, il faut utiliser une boucle basée sur la plage, std :: map, std :: ssortingng et une référence à la chaîne. Si j’enlève l’un d’entre eux, cela fonctionnera. #include #include #include using namespace std; struct S { map […]
Je développe un programme dans Qt. Son makefile est généré automatiquement à partir du fichier .pro. J’ai besoin d’utiliser du code qui nécessite que l’indicateur -std = c ++ 11 soit configuré pour g ++. Où dans .pro dois-je append ce drapeau? (le fait de ne modifier que le Makefile ne fonctionnera pas car il […]
Si j’ai une variable entière, je peux utiliser sscanf comme indiqué ci-dessous en utilisant le spécificateur de format% d. sscanf (line, “Value of integer: %d\n”, &my_integer); Où puis-je trouver des spécificateurs de format pour uint8_t , uint16_t , uint32_t et uint64_t ? uint64_t a probablement% lu.
En C ++, je dois répéter 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 peux le faire en remplaçant “code va […]
Considérer: struct SomethingThatsABase { virtual bool IsChildOne() const { return false; } virtual bool IsChildTwo() const { return false; } }; struct ChildOne : public SomethingThatsABase { virtual bool IsChildOne() const { return true; } }; struct ChildTwo : public SomethingThatsABase { virtual bool IsChildTwo() const { return true; } }; void SomeClientExpectingAChildOne(std::shared_ptr const& ptrOne) […]
Duplication possible: Démarrer le fil avec la fonction membre J’ai un petit cours: class Test { public: void runMultiThread(); private: int calculate(int from, int to); } Comment il est possible d’exécuter la méthode calculate avec deux ensembles différents de parameters (par exemple, calculate(0,10) , calculate(11,20) ) dans deux threads de la méthode runMultiThread() ? PS […]