Preguntas etiquetadas con c++-faq

Proporciona preguntas frecuentes colaborativas editadas por la comunidad sobre C ++

13
¿Cuándo puedo usar una declaración adelantada?
Estoy buscando la definición de cuándo se me permite hacer una declaración hacia adelante de una clase en el archivo de encabezado de otra clase: ¿Se me permite hacerlo para una clase base, para una clase mantenida como miembro, para una clase pasada a la función miembro por referencia, etc.?

4
¿Por qué iostream :: eof dentro de una condición de bucle (es decir, `while (! Stream.eof ())`) se considera incorrecto?
Acabo de encontrar un comentario en esta respuesta que dice que usar iostream::eofen una condición de bucle es "casi seguro que está mal". Generalmente uso algo como while(cin>>n), que supongo que comprueba implícitamente EOF. ¿Por qué es while (!cin.eof())incorrecto verificar eof explícitamente ? ¿Cómo es diferente de usar scanf("...",...)!=EOFen C …
595 c++  iostream  c++-faq 

12
C ++: "std :: endl" vs "\ n"
Muchos libros de C ++ contienen código de ejemplo como este ... std::cout << "Test line" << std::endl; ... así que siempre he hecho eso también. Pero en cambio, he visto mucho código de desarrolladores que trabajan como este: std::cout << "Test line\n"; ¿Hay alguna razón técnica para preferir uno …

6
Reglas de invalidación de iterador
¿Cuáles son las reglas de invalidación de iterador para contenedores C ++? Preferiblemente en un formato de lista de resumen. (Nota: Esto está destinado a ser una entrada a las preguntas frecuentes de C ++ de Stack Overflow . Si desea criticar la idea de proporcionar preguntas frecuentes en este …
543 c++  c++11  iterator  c++17  c++-faq 

5
¿Cómo uso matrices en C ++?
C ++ heredó matrices de C donde se usan prácticamente en todas partes. C ++ proporciona abstracciones que son más fáciles de usar y menos propensas a errores ( std::vector<T>desde C ++ 98 y std::array<T, n>desde C ++ 11 ), por lo que la necesidad de matrices no surge con …



6
¿Cuáles son los principales propósitos de usar std :: forward y qué problemas resuelve?
En perfecta expedición, std::forwardse utiliza para convertir las referencias rvalue nombre t1y t2las referencias rvalue sin nombre. ¿Cuál es el propósito de hacer eso? ¿Cómo afectaría eso a la función llamada innersi dejamos t1& t2como valores? template <typename T1, typename T2> void outer(T1&& t1, T2&& t2) { inner(std::forward<T1>(t1), std::forward<T2>(t2)); }

6
C ++ 11 valores y confusión semántica de movimiento (declaración de retorno)
Estoy tratando de entender las referencias de valor y mover la semántica de C ++ 11. ¿Cuál es la diferencia entre estos ejemplos y cuál de ellos no va a hacer una copia vectorial? Primer ejemplo std::vector<int> return_vector(void) { std::vector<int> tmp {1,2,3,4,5}; return tmp; } std::vector<int> &&rval_ref = return_vector(); Segundo …



12
¿Dónde encuentro los documentos estándar actuales de C o C ++?
Las respuestas de esta pregunta son un esfuerzo comunitario . Edite las respuestas existentes para mejorar esta publicación. Actualmente no acepta nuevas respuestas o interacciones. На этот вопрос есть ответы на Stack Overflow на русском : Где взять стандарт C ++? Para muchas preguntas, la respuesta parece encontrarse en "el …
394 c++  c  standards  c++-faq 

4
¿Qué son la elisión de copia y la optimización del valor de retorno?
¿Qué es copiar elisión? ¿Qué es la optimización de valor de retorno (con nombre)? ¿Qué implican? ¿En qué situaciones pueden ocurrir? ¿Qué son las limitaciones? Si se hizo referencia a esta pregunta, probablemente esté buscando la introducción . Para una descripción técnica, consulte la referencia estándar . Ver casos comunes …


6
¿Qué analizador XML debo usar en C ++? [cerrado]
Cerrado. Esta pregunta no cumple con las pautas de desbordamiento de pila . Actualmente no está aceptando respuestas. ¿Quieres mejorar esta pregunta? Actualice la pregunta para que sea sobre el tema de Stack Overflow. Cerrado hace 2 años . Mejora esta pregunta Tengo documentos XML que necesito analizar y / …
344 c++  xml-parsing  c++-faq 

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.