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

6 la respuesta

Bucles Paralelos en C ++

Me pregunto si hay una manera clara y directa de calcular bucles como for y range basados en bucles en paralelo en C ++. ¿Cómo implementaría tal cosa? Por Scala, conozco las funciones de mapa, filtro y foreach, ¿tal vez también sería posible ...

3 la respuesta

Argumento genérico lambda para std :: par

Estoy tratando de ver si esto es posible en el lambda genérico C ++ 14, pero no puedo encontrar una forma correcta de expresarlo (o tal vez no es posible). El ejemplo simplificado es: auto confirmOperation = [](auto pr){ assert(pr.second); };La ...

1 la respuesta

C ++ 14: Inicializando variables constexpr a partir de valores de parámetros

Digamos que tengo una clase que puede devolver una expresión constante a través de unconstexpr función: template<int N> struct Foo { constexpr int Bar() const { return N; } };Si quisiera inicializar valores constexpr deFoo::Bar(), ¿cómo debo ...

1 la respuesta

¿Variables locales static / thread_local de funciones en línea?

Si tengo una variable local estática o una variable local thread_local que está dentro de una función en línea que se define en diferentes unidades de traducción, en el programa final, ¿están garantizados por el estándar de tener la misma ...

2 la respuesta

¿Por qué la función declarada dentro de otra función no participa en la búsqueda dependiente del argumento?

Considere un ejemplo simple: template <class T> struct tag { }; int main() { auto foo = [](auto x) -> decltype(bar(x)) { return {}; }; tag<int> bar(tag<int>); bar(tag<int>{}); // <- compiles OK foo(tag<int>{}); // 'bar' was not declared in this ...

3 la respuesta

¿Por qué no puedo devolver la lista de inicializadores de lambda?

¿Por qué este código no es válido? auto foo=[](){ return {1,2}; };Sin embargo, esto es válido ya queinitializer list se usa solo para inicializar unvector no volver a sí mismo: auto foo=[]()->std::vector<int>{ return {1,2}; };¿Por qué no ...

2 la respuesta

Cómo crear un índice entero de mapeo ordenado con plantillas

Tengo la estructura de datos: template <int...I> struct index {}; template <typename...T> struct data {}; template <int I, int J> struct X { static constexpr int i = I; static constexpr int j = J; }; typedef data< X<0,4>, X<1,2>, X<2,1>, X<1,6>, ...

1 la respuesta

¿Es legal verificar si la dirección de un subobjeto se encuentra dentro de los límites de un objeto que contiene

2 preguntas: ¿El siguiente código está bien formado con un comportamiento definido? ¿Hay alguna implementación posible de c ++ en la que se pueda afirmar? Código (c ++ 11 y superior): #include <cassert> #include <utility> #include <ciso646> ...

2 la respuesta

¿Debería la asignación de función std :: ignorar el tipo de retorno? [duplicar]

Esta pregunta ya tiene una respuesta aquí: Usando `std :: function <void (...)>` para llamar a una función no vacía [/questions/9339829/using-stdfunctionvoid-to-call-non-void-function] 3 respuestas¿El código siguiente es C ++ válido de acuerdo ...

3 la respuesta

¿Un puntero con la dirección y el tipo correctos sigue siendo siempre un puntero válido desde C ++ 17?

(En referencia aesta pregunta y respuesta [https://stackoverflow.com/questions/48058545/are-there-any-guarantees-for-unions-that-contain-a-wrapped-type-and-the-type-its/48060029#48060029] .) Antes del estándar C ++ 17, la siguiente oración se ...