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

1 la respuesta

g ++ 4.9 rechaza la inicialización agregada válida en C ++ 14

Considera este código: struct S { int x; double y = 1.1; }; int main() { S s = {0}; }De acuerdo con el estándar C ++ 14, § 8.5.1 / 7 Si hay menos cláusulas de inicializador en la lista que miembros en el agregado, cada miembro no inicializado ...

3 la respuesta

¿Cuál es el significado de esta parte de Standardese sobre use_count () de shared_ptr?

Al tratar de entender el problema que se muestra enesta pregunta [https://stackoverflow.com/questions/28111666/why-is-stdweak-ptrexpired-optimized-away?noredirect=1#comment44599229_28111666] Me encontré atrapado en la siguiente oración de ...

1 la respuesta

Comprender el ejemplo de conversión de valor a valor

Me cuesta entender cómo funciona este código (un ejemplo del borrador del estándar C ++ 14[conv.lval]) invoca un comportamiento indefinido parag(false). Por queconstexpr ¿Es válido el programa? Además, ¿qué quiere decir con "no accedey.n"? En ...

2 la respuesta

Invalidación de referencia después de aplicar reverse_iterator en un iterador personalizado

Implementé un iterador bidireccional, sin embargo, en lugar de operar en una estructura de datos, devuelve una serie matemática que se puede calcular iterativamente en ambas direcciones. De hecho, estoy iterando a través de los enteros, usando ++ ...

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

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

6 la respuesta

¿Hay un equivalente al bucle `enumerate` basado en rango de Python en C ++ moderno?

¿Hay un equivalente al rango basadoenumerate bucle de python en C ++? Me imagino algo como esto. enumerateLoop (auto counter, auto el, container) { charges.at(counter) = el[0]; aa.at(counter) = el[1]; }¿Se puede hacer esto con plantillas o ...

1 la respuesta

Uso del valor constexpr capturado lambda como una dimensión de matriz

GCC yClang compile el siguiente código: void Test() { constexpr int Size = 3; auto Lambda = [Size]{ int Dim[Size]; }; } Sin embargo,VisualStudio 2015 CTP 6 no. Sin embargo, los 3 compiladores están contentos con este código: void Test() { ...

1 la respuesta

¿Es posible crear un alias de plantilla?

Considere el siguiente código: template< template< typename ... > class ... Ts > struct unite { template< typename ... T > struct type : Ts< T ... > ... { }; }; // This does not work as ::type does not name a type, but a template: // template< ...

1 la respuesta

Dado int ** p1 y const int ** p2 ¿está p1 == p2 bien formado?

Dada la siguiente función: void g(int **p1, const int**p2) { if (p1 == p2) { } }clang(volver a la versión 3.0) produce esta advertencia (verlo en vivo [http://melpon.org/wandbox/permlink/lCtOd2FagxDI9n2T]): warning: comparison of distinct ...