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).


2
Captura de Lambda y parámetro con el mismo nombre: ¿quién sombrea al otro? (clang vs gcc)
auto foo = "You're using g++!"; auto compiler_detector = [foo](auto foo) { std::puts(foo); }; compiler_detector("You're using clang++!"); clang ++ 3.6.0 y versiones posteriores imprimen "¡Estás usando clang ++!" y advertir sobre la captura foo no utilizada. g ++ 4.9.0 y versiones posteriores imprimen "¡Estás usando g ++!" y advertir sobre …


3
¿Es 1.0 una salida válida de std :: generate_canonical?
Siempre pensé que los números aleatorios estarían entre cero y uno, sin ellos1 , es decir, son números del intervalo medio abierto [0,1]. La documentación en cppreference.com de std::generate_canonicalconfirma esto. Sin embargo, cuando ejecuto el siguiente programa: #include <iostream> #include <limits> #include <random> int main() { std::mt19937 rng; std::seed_seq sequence{0, …
124 c++  c++11  random 

2
¿C ++ 11 lambdas capturan variables que no usan?
Cuando uso [=]para indicar que me gustaría que todas las variables locales sean capturadas por valor en una lambda, ¿eso dará como resultado que se copien todas las variables locales en la función, o solo todas las variables locales que son utilizadas por la lambda ? Entonces, por ejemplo, si …
124 c++  lambda  c++11 

3
El uso de este puntero provoca una desoptimización extraña en el bucle dinámico
Recientemente me encontré con una desoptimización extraña (o más bien perdí la oportunidad de optimización). Considere esta función para desempaquetar de manera eficiente conjuntos de enteros de 3 bits a enteros de 8 bits. Descomprime 16 ints en cada iteración de bucle: void unpack3bit(uint8_t* target, char* source, int size) { …


6
error: uso de función eliminada
He estado trabajando en un código C ++ que ha escrito un amigo y obtengo el siguiente error que nunca antes había visto al compilar con gcc4.6: error: use of deleted function ‘GameFSM_<std::array<C, 2ul> >::hdealt::hdealt()’ is implicitly deleted because the default definition would be ill-formed: uninitialized non-static const member ‘const …

2
¿Cómo funciona std :: tie?
Lo he usado std::tiesin pensarlo mucho. Funciona, así que acabo de aceptar que: auto test() { int a, b; std::tie(a, b) = std::make_tuple(2, 3); // a is now 2, b is now 3 return a + b; // 5 } Pero, ¿cómo funciona esta magia negra ? ¿Cómo se crea …
120 c++  c++11  tuples 

2
inicializar un vector a ceros C ++ / C ++ 11
Sé que en C ++ 11 agregaron la función para inicializar una variable a cero como tal double number = {}; // number = 0 int data{}; // data = 0 ¿Existe una forma similar de inicializar un std::vectorde una longitud fija a todos los ceros?
118 c++  c++11 


1
¿Async (launch :: async) en C ++ 11 hace que los grupos de subprocesos sean obsoletos para evitar la costosa creación de subprocesos?
Está vagamente relacionado con esta pregunta: ¿std :: thread está agrupado en C ++ 11? . Aunque la pregunta es diferente, la intención es la misma: Pregunta 1: ¿Todavía tiene sentido usar su propio grupo de subprocesos (o una biblioteca de terceros) para evitar la creación de subprocesos costosa? La …

4
¿Cómo habilito C ++ 11 en gcc?
Utilizo gcc 4.8.1 de http://hpc.sourceforge.net en Mac OSX Mountain Lion. Estoy intentando compilar un programa C ++ que usa la to_stringfunción en <string>. Necesito usar la bandera -std=c++11cada vez: g++ -std=c++11 -o testcode1 code1.cpp ¿Hay alguna forma de incluir esta bandera de forma predeterminada?
117 c++11  g++ 

8
¿Qué hace static_assert y para qué lo usaría?
¿Podría dar un ejemplo en el que static_assert(...)('C ++ 11') resolvería el problema con elegancia? Estoy familiarizado con el tiempo de ejecución assert(...). ¿Cuándo debería preferirlo static_assert(...)al regular assert(...)? Además, boosthay algo llamado BOOST_STATIC_ASSERT, ¿es lo mismo que static_assert(...)?


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.