auto

¿Cuánto es demasiado con la palabra clave auto de C++11?

He estado usando la nueva palabra clave auto disponible en el estándar de C++11 para tipos de plantillas complicadas, que es ... rogramadores y luego de nuevo a la pila de desbordamiento. La discusión sobre esto se puede encontrar en esta meta pregunta .

¿Qué nos dice auto&&?

Si lee código como auto&& var = foo(); Donde foo es cualquier función que devuelve por valor de tipo T. Entonces va ... e programación de plantillas; como los discutidos en los ejemplos de este artículo Referencias Universales por Scott Meyers.

Lambda volviendo a sí mismo: ¿es esto legal?

Considere este programa bastante inútil: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto ... eral, sino sobre la legalidad de esta forma específica de hacerlo. Pregunta relacionada: C++ lambda regresando a sí mismo.

¿Cuál es el tipo de lambda cuando se deduce con "auto" en C++11?

Tuve la percepción de que, el tipo de lambda es un puntero de función. Cuando realicé la siguiente prueba, encontré que estab ... ún punto al código anterior ? Si no es así, ¿cuál es la expresión typeof a lambda cuando se deduce con la palabra clave auto?

¿Por qué auto a=1; compila en C?

El código: int main(void) { auto a=1; return 0; } Se compila sin errores por el compilador de MS Visual Studio 20 ... duce del inicializador. Eso significa que mi compilador no se adhiere a C, o es el código ¿realmente correcto en lenguaje C?

operador de flecha ( - > ) en el encabezado de la función

Encontré tal código: template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) { return a+b ... t; determina un tipo, que será obtenido por auto, pero quiero obtener esto directamente, pero no puedo encontrar información.

¿Cuáles son algunos usos de decltype (auto)?

En c++14 se introduce el modismo decltype(auto). Normalmente se usa para permitir que las declaraciones auto utilicen las ... )[std::forward<IndexType>(index)]; } ¿Hay otros ejemplos en los que esta nueva característica del lenguaje sea útil?

¿Cómo funciona el lambda genérico en C++14?

¿Cómo funciona el lambda genérico (auto palabra clave como tipo de argumento) en el estándar C++14? ¿Se basa en plantilla ... o es más similar a los genéricos de Java (borrado de tipo)? Ejemplo de código: auto glambda = [](auto a) { return a; };

La nueva palabra clave "auto"; ¿Cuándo debe usarse para declarar un tipo de variable? [duplicar]

Posible Duplicado:Cuánto es demasiado con C++0x auto keyword ¿Hemos tenido (como comunidad) suficiente experiencia ... les que se pueden seguir rápidamente en el 80% de los casos. Como contexto esta pregunta es despertado por mi respuesta aquí

¿Debería el estilo de sintaxis de tipo de retorno final convertirse en el predeterminado para los nuevos programas de C++11? [cerrado]

C++11 soporta una nueva sintaxis de función: auto func_name(int x, int y) -> int; Actualmente esta función se declarar ... rio? Personalmente, prefiero el estilo antiguo cuando es posible, pero un código base con estilos mixtos se ve bastante feo.

¿Hay inferencia automática de tipos en Java?

¿Hay un tipo de variable auto en Java como lo tienes en C++? Un ejemplo: for ( auto var : object_array) std::cout < ... mejorado en Java, pero ¿hay un auto? Si no, ¿ hay algún truco para hacer esto? Me refiero a la nueva característica en C++11

C++11 auto: ¿qué pasa si obtiene una referencia constante?

Por favor, eche un vistazo al siguiente código simple: class Foo { public: Foo(){} ~Foo(){} Foo(const Foo&){} F ... uto& my_foo3 = GetFoo(); Pregunta: ¿Por qué auto deduce el tipo de retorno de GetFoo como un objeto, no una referencia?

¿Cómo obtengo un iterador const usando auto?

Primera pregunta: ¿es posible "forzar" un const_iterator usando auto? Por ejemplo: map<int> usa; //...init usa auto ci ... al usar auto, city_it es lo mismo que el tipo de retorno de map::find(), que es map<int>::iterator. Alguna sugerencia?

Eficiencia de bucle for basada en rango C++11 "const auto & i "versus" auto i"

En C++11, puedo iterar sobre algún contenedor así: for(auto i : vec){ std::cout << i << std::endl; } Pero ... o hacer este cambio a lo largo, ya que la eficiencia es crítica en él (la razón por la que estoy usando C++ en primer lugar).

¿Por qué auto x{3} deduce una lista de inicializadores?

Me encanta auto en C++11. Es maravilloso. Pero tiene una inconsistencia que realmente me pone de los nervios, porque tropiezo ... ; // No need to specify the type Funcionaría muy bien. Entonces, ¿cuál es la razón detrás del caso especial para auto x{i}?

¿Una declaración que usa "auto" coincide con una declaración externa que usa un especificador de tipo concreto?

Considere el siguiente programa: extern int x; auto x = 42; int main() { } Clang 3.5 lo acepta (live demo), GCC 4.9 y VS20 ... aceptan (live demo para el anterior). ¿Quién tiene razón y dónde se especifica el comportamiento correcto en el estándar C++?

C++11 auto declaration con y sin puntero declarador

¿Cuál es la diferencia entre los tipos de bar1 y bar2? int foo = 10; auto bar1 = &foo; auto *bar2 = &foo; Si tanto bar1 como bar2 son int*, ¿tiene sentido escribir el declarador puntero (*) en la declaración bar2?

Usando auto en una función lambda

#include <vector> #include <algorithm> void foo( int ) { } int main() { std::vector< int > v( { 1,2,3 } ... :for_each( v.begin(), v.end(), []( int it ) { foo( it+5 ); } ); ¿Por qué la versión con la palabra clave auto no funciona?

¿Qué hace auto&&?

Este es el código de C++11 Notes Sample de Scott Meyers, int x; auto&& a1 = x; // x is lvalue, so type ... ;, y corrí. La misma salida. Mi pregunta : Es auto& igual a auto&&? Si son diferentes, ¿qué hace auto&&?

¿La deducción de tipo de retorno automático fuerza a varias funciones a tener el mismo tipo de retorno?

Considere el siguiente fragmento: struct A { auto foo(), bar(); }; auto A::foo() { return 1; } auto A::bar() { return 'a ... ipo de retorno automático fuerza a múltiples funciones, declaradas en una sola instrucción, a tener el mismo tipo de retorno?