Preguntas etiquetadas con c++11

Use esta etiqueta para el código que debe compilarse como C ++ 11 (sin usar ninguna característica introducida en C ++ 14 o posterior).



3
Diferencia de comportamiento de la captura mutable de la función lambda a partir de una referencia a la variable global
Descubrí que los resultados son diferentes entre los compiladores si uso un lambda para capturar una referencia a una variable global con una palabra clave mutable y luego modifico el valor en la función lambda. #include <stdio.h> #include <functional> int n = 100; std::function<int()> f() { int &m = n; …



4
Enum. Continua C ++ 11
¿Hay alguna manera de verificar en C ++ 11 si una enumeración es continua ? Es totalmente válido dar valores enum que no lo son. ¿Hay tal vez una característica como un rasgo de tipo en C ++ 14, C ++ 17 o tal vez C ++ 20 para verificar …
17 c++  c++11  c++14  c++17  c++20 

2
¿Es este un antiguo constructor de estilo C ++?
Aquí una pieza de código C ++. En este ejemplo, muchos bloques de código parecen llamadas de constructor. Desafortunadamente, el código de bloqueo n. ° 3 no lo es (puede verificarlo usando https://godbolt.org/z/q3rsxn y https://cppinsights.io ). Creo que es una notación antigua de C ++ y podría explicar la introducción …
17 c++  c++11 

3
Plantillas variables: desplegar argumentos en grupos
Tengo una función que toma dos argumentos: template <typename T1, typename T2> void foo(T1 arg1, T2 arg2) { std::cout << arg1 << " + " << arg2 << '\n'; } Y una variable que debe reenviar sus argumentos en pares: template <typename... Args> void bar(Args&&... args) { static_assert(sizeof...(Args) % 2 …


3
Ordenar un vector en orden descendente dentro de dos rangos
Digamos que tengo un vector de enteros: std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); Luego lo ordeno en orden descendente: sort(indices.begin(), indices.end(), [](int first, int second) -> bool{return indices[first] > indices[second];}) for (int i=0; i<15; i++) printf("%i\n", indices[i]); Esto produce lo siguiente: 14 13 12 11 10 9 8 …


3
¿Por qué la dimensión de una matriz es parte de su tipo?
Mientras leía el libro de C ++ Primer, me encontré con esta declaración: "El número de elementos en una matriz es parte del tipo de matriz". Así que quería averiguarlo usando el siguiente código: #include<iostream> int main() { char Array1[]{'H', 'e', 'l', 'p'}; char Array2[]{'P', 'l', 'e', 'a', 's', 'e'}; …
14 c++  arrays  c++11 

3
Ejecutar la función dentro de la plantilla de función solo para aquellos tipos que tienen la función definida
Tengo una plantilla de función que toma muchos tipos diferentes como entrada. De esos tipos, solo uno de ellos tiene una getInt()función. Por lo tanto, quiero que el código ejecute la función solo para ese tipo. Por favor sugiera una solución. Gracias #include <type_traits> #include <typeinfo> class X { public: …

4
¿La explicación del orden relajado es errónea en la preferencia?
En la documentación de std::memory_ordercppreference.com hay un ejemplo de pedido relajado: Pedidos relajados Las operaciones atómicas etiquetadas memory_order_relaxedno son operaciones de sincronización; no imponen un orden entre los accesos concurrentes de memoria. Solo garantizan la atomicidad y la coherencia del orden de modificación. Por ejemplo, con x e y inicialmente …

1
Posible error del compilador en MSVC
El siguiente código se compila con gcc y clang (y muchos otros compiladores de C ++ 11) #include <stdint.h> typedef int datatype; template <typename T> struct to_datatype {}; template <> struct to_datatype<int16_t> { static constexpr datatype value = 1; }; template <typename T> class data { public: data(datatype dt = …
13 c++  c++11  visual-c++ 

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.