Resultados de la búsqueda a petición "c++11"
¿Por qué no hay una función de espera para condition_variable que no vuelva a bloquear el mutex?
Considere el siguiente ejemplo. std::mutex mtx; std::condition_variable cv; void f() { { std::unique_lock<std::mutex> lock( mtx ); cv.wait( lock ); // 1 } std::cout << "f()\n"; } void g() { std::this_thread::sleep_for( 1s ); cv.notify_one(); } ...
Llamar a una función antes de que la función salga
Comenzaré con un ejemplo. Supongamos que necesito proteger un código con una función dentro de un mutex. Hay dos formas de implementar esto. #include <iostream> #include <vector> #include <pthread.h> pthread_mutex_t myMutex = ...
¿Las uniones sin restricciones requieren una colocación nueva y una definición de constructor?
Los ejemplos que he visto de uniones sin restricciones siempre parecen usar una ubicación nueva al construir. El artículo de Wikipedia para las características de C ++ 11 utiliza una ubicación nueva en el constructor de una ...
Mezcla de declaraciones constexpr y definiciones constantes
Me encontré con la siguiente situación: struct Foo { static constexpr char s[] = "Hello world"; }; const char Foo::s[]; Este fragmento de código se compila con Clang 3.7 (con-std=c++11 y-std=c++14), pero GCC (4.8, 6.0, la misma configuración de ...
En C ++, ¿cómo se puede mover cada elemento uno a la derecha usando solo punteros? [cerrado]
por ejemplo, esta matriz por ejemplo, [1,2,3,4,5] se convertiría en esta matriz [5,1,2,3,4] esto es lo que se me ocurrió, pero no funciona: int *ptr = arr; //initialize to first element int *ptr2 = arr+1; //initialize it to second element while ...
¿Deberíamos pasar un shared_ptr por referencia o por valor?
Cuando una función toma unshared_ptr (desde boost o C ++ 11 STL), ¿lo está pasando? por referencia constante:void foo(const shared_ptr<T>& p) o por valor:void foo(shared_ptr<T> p) ? Preferiría el primer método porque sospecho que sería más ...
¿Es necesario que std :: string almacene su carácter en una memoria contigua?
Sé que en C ++ 98, tampocostd::basic_string<> nistd::vector<> estaban obligados a utilizar el almacenamiento contiguo. Esto fue visto como un descuido parastd::vector<> tan pronto como se señaló, y, si no recuerdo mal, me arreglé con C ++ 03. I ...
reemplazo para binary_function
binary_function está en desuso ahora y se eliminará en C ++ 17. Busqué en diferentes publicaciones, pero no pude encontrar una manera exacta de reemplazarlo. Me gustaría saber cómo debo escribir el siguiente código en estilo C ++ 11. template ...
¿Los punteros de función son objetos de función en C ++?
El estándar C ++ define los objetos de función como: Un tipo de objeto de función es un tipo de objeto que puede ser el tipo de la expresión postfix en una llamada de función. ...
emplace_back no funciona con std :: vector <std :: map <int, int >>
Estoy tratando de haceremplace_back en unastd::vector<std::map<int, int>>, pero no pudo encontrar la sintaxis correcta para hacerlo. #include<map> #include<vector> int main() { std::vector<std::map<int, int>> v; std::map<int,int> a {{1,2}}; ...