Resultados de la búsqueda a petición "c++14"

1 la respuesta

Obtener el tipo de retorno de función en la plantilla

¿Cómo puedo obtener el tipo de retorno para cualquier función pasada a la plantilla? No se como convertirtemplate<typename T> ytemplate<typename Result, typename Args...>: template<typename T> void print_name(T f) ...

4 la respuesta

Pase los parámetros a std :: thread wrapper

Quiero implementar un pequeño contenedor de hilos que proporcione la información si un hilo todavía está activo, o si el hilo ha terminado su trabajo. Para esto, necesito pasar la función y sus parámetros a ser ejecutados por la clase thread a ...

1 la respuesta

Evitar movimientos adicionales en make_unique / make_shared / emplace / etc para estructuras que usan inicialización agregada

std::make_unique() (y funciones similares) tienen un pocoproblema [http://coliru.stacked-crooked.com/a/7d4063069bcca194]: #include <cstdio> #include <memory> using namespace std; struct S { S() { printf("ctor\n"); } ~S() { printf("dtor\n"); } ...

1 la respuesta

Resolución de sobrecarga entre miembros de plantilla en clases base y derivadas

El compilador de Microsoft (Visual Studio 2017 15.2) rechaza el siguiente código: #include <type_traits> struct B { template<int n, std::enable_if_t<n == 0, int> = 0> void f() { } }; struct D : B { using B::f; template<int n, std::enable_if_t<n ...

2 la respuesta

El punto de entrada del procedimiento _ZNSt7_cxx1112basic_stringlcSt11char_traitslcESalcEEC1Ev no se pudo ubicar en la biblioteca de enlaces dinámicos

Tengo una dificultad inmensa para intentar usar std :: string. El programa se compila absolutamente bien, pero cuando ejecuto el programa, recibo este error: error [https://i.stack.imgur.com/n3UN7.png] He buscado en todas partes en google y no ...

2 la respuesta

¿Qué compilador, si alguno tiene un error en la expansión del paquete de parámetros?

Al experimentar con formas convenientes de acceder a las tuplas como contenedores, escribí un programa de prueba. en clang (3.9.1 y apple clang) se compila como se esperaba, produciendo el resultado esperado: 1.1 foo 2en gcc (5.4, 6.3), no ...

1 la respuesta

Excepción desconocida de std :: promise

¿Qué hay de malo con el siguiente código? Cuando se ejecuta, el programa aborta con una excepción desconocida #include <iostream> #include <future> int main() { auto promise = std::promise<int>{}; auto future_one = ...

2 la respuesta

pasar lambda como argumento, por referencia o valor?

He escrito un código de plantilla que toma un functor como argumento y después de un procesamiento, lo ejecuta. Aunque alguien más podría pasar esa función un lambda, un puntero de función o incluso unstd::function pero está ...

1 la respuesta

¿Qué cambios en C ++ hicieron que la inicialización de copia funcione para la clase con un constructor explícito?

Considera este código: struct X{ explicit X(){} explicit X(const X&){} }; void foo(X a = X()){} int main(){}Usando el estándar C ++ 14, tanto GCC 7.1 como clang 4.0rechaza [https,://godbolt.org/g/r8u5gO]El código, que es lo que esperaba. Sin ...

3 la respuesta

Punteros en c ++ después de eliminar

Después de leer muchas publicaciones sobre esto, quiero aclarar el siguiente punto: A* a = new A(); A* b = a; delete a; A* c = a; //illegal - I know it (in c++ 11) A* d = b; //I suppose it's legal, is it true?Entonces la pregunta es sobre el uso ...