¿Cuál es la forma correcta de usar el rango basado en C ++ 11 for? ¿Qué sintaxis se debe usar? for (auto elem : container)o for (auto& elem : container)o for (const auto& elem : container)? O alguna
¿Cuál es la forma correcta de usar el rango basado en C ++ 11 for? ¿Qué sintaxis se debe usar? for (auto elem : container)o for (auto& elem : container)o for (const auto& elem : container)? O alguna
Eclipse 3.7.1 CDT 1.4.1 GCC 4.6.2 Este es un ejemplo de una pieza de código C ++ 11: auto text = std::unique_ptr<char[]>(new char[len]); El editor de Eclipse se queja de: Function 'unique_ptr' could not be resolved La compilación de Makefile funciona bien. ¿Cómo hacer que Eclipse deje de...
¿Es posible pasar una función lambda como puntero de función? Si es así, debo estar haciendo algo incorrectamente porque recibo un error de compilación. Considere el siguiente ejemplo using DecisionFn = bool(*)(); class Decide { public: Decide(DecisionFn dec) : _dec{dec} {} private: DecisionFn...
A veces se afirma que C ++ 11/14 puede darle un aumento de rendimiento incluso cuando solo compila código C ++ 98. La justificación suele estar en la línea de la semántica de movimiento, ya que en algunos casos los constructores de valores r se generan automáticamente o ahora forman parte del STL....
Cada contenedor estándar tiene un método beginy endpara devolver iteradores para ese contenedor. Funciones gratuitas Sin embargo, C ++ 11 aparentemente ha introducido llaman std::beginy std::endque exigen las beginy endmiembros de funciones. Entonces, en lugar de escribir auto i = v.begin(); auto...
¿Será este el ejemplo? #include <iostream> using namespace std; int main() { cout << "Hola, moondo.\n"; } Lanza el error: gcc -c main.cpp gcc -o edit main.o main.o: In function `main': main.cpp:(.text+0xa): undefined reference to `std::cout' main.cpp:(.text+0xf): undefined reference...
Si tengo una variable dentro de una función (por ejemplo, una gran matriz), ¿tiene sentido declarar ambas staticy constexpr? constexprgarantiza que la matriz se crea en tiempo de compilación, entonces, ¿ staticsería inútil? void f() { static constexpr int x [] = { // a few thousand elements };...
¿Por qué la función inversa para la std::listclase en la biblioteca estándar de C ++ tiene tiempo de ejecución lineal? Creo que para las listas doblemente vinculadas, la función inversa debería haber sido O (1). Revertir una lista doblemente vinculada solo debería implicar cambiar los punteros de...
Con el nuevo estándar, hay nuevas formas de hacer las cosas, y muchas son más agradables que las viejas, pero la vieja forma todavía está bien. También está claro que el nuevo estándar no se desprecia oficialmente mucho, por razones de compatibilidad con versiones anteriores. Entonces la pregunta...
Puse mis habilidades en C ++ en el estante hace varios años y parece que ahora, cuando las necesito nuevamente, el panorama ha cambiado. Tenemos C ++ 11 ahora, y entiendo que se superpone a muchas características de Boost. ¿Hay algún resumen de dónde se encuentran esas superposiciones, qué...
[dcl.attr.noreturn] proporciona el siguiente ejemplo: [[ noreturn ]] void f() { throw "error"; // OK } pero no entiendo de qué sirve [[noreturn]], porque el tipo de retorno de la función ya lo es void. Entonces, ¿cuál es el punto del noreturnatributo? ¿Cómo se supone que debe...
Me pregunto por qué cbeginy cendse introdujeron en C ++ 11? ¿Cuáles son los casos en los que llamar a estos métodos marca la diferencia de las sobrecargas constantes de beginy
Tengo este código que no funciona, pero creo que la intención es clara: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A &operator...
Quiero tener una static const charmatriz en mi clase. GCC se quejó y me dijo que debería usar constexpr, aunque ahora me dice que es una referencia indefinida. Si hago que la matriz no sea miembro, entonces se compila. Que esta pasando? // .hpp struct foo { void bar(); static constexpr char...
¿Cuáles son las razones de la existencia de std::decay? ¿En qué situaciones es
Con la llegada del nuevo estándar (y partes ya disponibles en algunos compiladores), std::unique_ptrse supone que el nuevo tipo es un reemplazo std::auto_ptr. ¿Su uso se superpone exactamente (por lo que puedo hacer una búsqueda / reemplazo global en mi código (no es que lo haría, pero si lo...
He leído y escuchado que C ++ 11 es compatible con Unicode. Algunas preguntas sobre eso: ¿Qué tan bien admite la biblioteca estándar de C ++ Unicode? ¿Hace std::stringlo que debería? ¿Como lo uso? ¿Dónde están los posibles problemas?
Esta respuesta de @R. Martinho Fernandes muestra que el modismo safe-bool aparentemente está en desuso en C ++ 11, ya que puede ser reemplazado por un simple explicit operator bool() const; de acuerdo con la cita estándar en la respuesta §4 [conv] p3: Una expresión e se puede convertir...
¿Cómo elimino un mapa mientras lo itero? me gusta: std::map<K, V> map; for(auto i : map) if(needs_removing(i)) // remove it from the map Si lo uso map.eraseinvalidará los
Usando C ++ 11, Ubuntu 14.04, cadena de herramientas predeterminada de GCC . Este código falla: constexpr std::string constString = "constString"; error: el tipo 'const string {aka const std :: basic_string}' de la variable constexpr 'constString' no es literal ... porque ... 'std ::...