c++14

¿Es definitivamente ilegal referirse a un nombre reservado?

En la lista std-proposals, se dio el siguiente código: #include <vector> #include <algorithm> void foo(const s ... re? O probablemente no pretende ser tan estricto (lo que puede apuntar a una oportunidad para ajustar la redacción estándar)?

¿Puede devolver una variable local por valor en C++11/14 dar lugar a que el valor devuelto sea construido por rvalue cuando no hay copia/movimiento involucrado?

Sé que en la siguiente situación que el compilador es libre de mover-construir el valor de retorno de makeA (pero también es ... r que un local de cualquier tipo sea tratado como un rvalue, pero no puedo encontrar ejemplos o preguntas de esta naturaleza.

Detectar la existencia de un miembro privado

Quiero escribir un rasgo de tipo para comprobar si algún tipo tiene un miembro member. Si member fuera público, hay muchas ma ... mber<D>{}, "!"); // error ¿Hay alguna forma de escribir un comprobador de miembros en todos los controles de acceso?

definición de plantilla de miembro estático local de hilo: la inicialización falla con gcc

Cuando un miembro estático en una clase C++ es a la vez thread_local y una plantilla de miembro, no se inicializa. #include ... mportamiento con gcc 8.0.0 20170817 de SVN y envié un informe de error: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81880

¿Funcionará la deducción automática del tipo de devolución para main?

Seré capaz de hacer lo siguiente para la función principal en C++1y (C++14): auto main() { // ... } Entonces, ¿el tipo devuelto será automáticamente int aunque no necesitemos usar un return 0; explícito?

Lambda genérico con función std::no captura variables

Estoy tratando de usar la lambda genérica de C++14, pero tengo un problema con la función std::. #include <iostream> # ... e. Funciona si lo cambio a (int b). ¿Es un error? o me estoy perdiendo algo? La versión de GCC que estoy usando es 4.9.2.

Especializaciones de plantillas de clases parciales y SFINAE

He estado usando enfoques basados en SFINAE durante bastante tiempo, especialmente para habilitar/deshabilitar especializacio ... especializaciones parciales). ¿Estoy malinterpretando los puntos de los documentos anteriores o es realmente una zona gris?

¿Por qué no es const std::array:: operator[] constexpr?

Estoy tratando de llenar una matriz 2D en tiempo de compilación con una función dada. Aquí está mi código: template<int H ... o una matriz simple, solo que mejor. Pero aquí hay un ejemplo, donde puedo usar matriz simple, pero no puedo usar std::array.

¿Por qué std::make unique en lugar de std::unique ptr:: make?

¿Por qué C++ adoptó funciones libres para: std::make_unique(...); std::make_shared(...); En lugar de usar funciones miembro estáticas: std::unique_ptr::make(...); // static std::shared_ptr::make(...); // static ?

¿Cuál es la forma correcta de inicializar miembros de datos estáticos en C++ (98, 11 y 14)

¿Cuál es la forma correcta de inicializar static miembros de datos en C++? También estoy interesado en cómo ha cambiado de C ... }; // bufferedOutput.cpp long BufferedOutput::bytecount = 50; ¿hay otras formas de inicializar static miembros de datos?

Confusión sobre la palabra clave auto en C++ [duplicar]

Esta pregunta ya tiene una respuesta aquí: ¿Se puede usar la palabra clave 'auto' como especificador de ... lmacenamiento y int es un tipo de datos , entonces ¿por qué recibo el error "dos o más tipos de datos" en el primer caso?

¿Es ilegal invocar una función std:: bajo el estándar?

Todas las citas son de N3797. 4/3 [conv] Una expresión e puede ser convertido implícitamente a un tipo T si ... rd<ArgTypes>(args)..., void) está mal formado para todos los argumentos y f. ¿Es correcta esta línea de razonamiento?

Funtores de Operador Transparentes

Visual Studio 2013 Preview admite una función de C++14 llamada (de acuerdo con esta página) "Functors de operador transparent ... Estoy buscando una explicación más clara de lo que es, por qué es una mejora, y tal vez un fragmento que demuestre su uso.

En C++11 y más allá, ¿std::string::operator[] hace la comprobación de límites?

He visto muchas veces que std::string::operator[] no hace ninguna comprobación de límites. Even ¿Cuál es la diferencia entr ... un valor predeterminado charT. ¿Es esta suposición correcta y operator[] ahora se requiere hacer la comprobación de límites?

Cómo generar bucles anidados en tiempo de compilación

Tengo un entero N que conozco en tiempo de compilación. También tengo un std::array que contiene enteros que describen la f ... Sin embargo, no me interesa esta solución. Tampoco estoy interesado en soluciones que involucren la magia del preprocesador.

¿Cómo hacer que CMake pase std=c++14 / c++1y o c++17/c++1z basado en la versión GCC?

CCG 4.x no acepta el interruptor --std=c++14 para el código de C++14 - toma --std=c++1y en su lugar. Las versiones posteriore ... ¿CMake tiene alguna facilidad (tal vez como un módulo) para pasar el interruptor correcto de acuerdo con la versión de GCC?

¿Por qué decltype (auto) devuelve una referencia aquí?

Creo (pensamiento) entiendo auto. Lo mismo sobre decltype. Sin embargo, en C++14, uno puede tener algo diabólico como decltyp ... e luz sobre este. PD: También he etiquetado con C++ ya que hay muchas más personas que comprueban la etiqueta C++ que C++14.

¿Por qué std::is assignable devuelve false con tipos de puntero relacionados?

Dadas dos clases muy simples: class X { }; class Y : public X { }; ¿Por qué es eso, con Clang y GCC apuntando a C++14, std::is_assignable<X*, Y*>::value es false? Es true con Clang en mi configuración cuando me dirijo a C++11.

Colocación nuevo en std:: almacenamiento alineado?

Supongamos que tengo un parámetro de plantilla de tipo T. Y supongamos que tengo un std::aligned_storage de la siguiente man ... t;void*>(&storage)); ¿Cuáles de los anteriores (si los hay) son compatibles, y si ninguno, cuál es la mejor manera?

¿Cuál es el tipo de esta función factorial autoaplicable?

Escribí una función factorial anónima en C++ y compilé mi código con g++4.9.2. Funciona bien. Sin embargo, no conozco el tipo ... nces, ¿por qué podría g++ obtener exactamente el tipo correcto de la función fac, y qué type ¿cree g++ que la función fac es?