Preguntas etiquetadas con c++

C ++ es un lenguaje de programación de propósito general. Originalmente fue diseñado como una extensión de C y tiene una sintaxis similar, pero ahora es un lenguaje completamente diferente. Use esta etiqueta para preguntas sobre el código (que se compilará) con un compilador de C ++. Utilice una etiqueta específica de la versión para preguntas relacionadas con una revisión estándar específica [C ++ 11], [C ++ 14], [C ++ 17] o [C ++ 20], etc.


12
¿Por qué el uso de tuplas en C ++ no es más común?
¿Por qué nadie parece usar tuplas en C ++, ya sea Boost Tuple Library o la biblioteca estándar para TR1? He leído mucho código C ++, y muy rara vez veo el uso de tuplas, pero a menudo veo muchos lugares donde las tuplas resolverían muchos problemas (generalmente devolviendo valores …
124 c++  tuples 


3
¿Es 1.0 una salida válida de std :: generate_canonical?
Siempre pensé que los números aleatorios estarían entre cero y uno, sin ellos1 , es decir, son números del intervalo medio abierto [0,1]. La documentación en cppreference.com de std::generate_canonicalconfirma esto. Sin embargo, cuando ejecuto el siguiente programa: #include <iostream> #include <limits> #include <random> int main() { std::mt19937 rng; std::seed_seq sequence{0, …
124 c++  c++11  random 

8
¿Debo devolver EXIT_SUCCESS o 0 desde main ()?
Es una pregunta simple, pero sigo viendo respuestas contradictorias: ¿debería volver la rutina principal de un programa C ++ 0o EXIT_SUCCESS? #include <cstdlib> int main(){return EXIT_SUCCESS;} o int main(){return 0;} ¿Son exactamente lo mismo? ¿ EXIT_SUCCESSSolo debe usarse con exit()? Pensé EXIT_SUCCESSque sería una mejor opción porque otro software puede …
124 c++  c  return-value  main 


14
Doble negación en C ++
Acabo de llegar a un proyecto con una base de código bastante grande. Principalmente estoy tratando con C ++ y gran parte del código que escriben usa doble negación para su lógica booleana. if (!!variable && (!!api.lookup("some-string"))) { do_some_stuff(); } Sé que estos tipos son programadores inteligentes, es obvio que …
124 c++  boolean 


2
¿C ++ 11 lambdas capturan variables que no usan?
Cuando uso [=]para indicar que me gustaría que todas las variables locales sean capturadas por valor en una lambda, ¿eso dará como resultado que se copien todas las variables locales en la función, o solo todas las variables locales que son utilizadas por la lambda ? Entonces, por ejemplo, si …
124 c++  lambda  c++11 

6
Lambda regresa: ¿es esto legal?
Considere este programa bastante inútil: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Básicamente estamos tratando de hacer una lambda que regrese. MSVC …


3
¿Cómo funcionan las variables en línea?
En la reunión de estándares 2016 de Oulu ISO C ++, el comité de estándares votó una propuesta llamada Variables en línea en C ++ 17. En términos simples, ¿qué son las variables en línea, cómo funcionan y para qué sirven? ¿Cómo deben declararse, definirse y utilizarse las variables en …
124 c++  c++17 


7
Error "X no nombra un tipo" en C ++
Tengo dos clases declaradas de la siguiente manera: class User { public: MyMessageBox dataMsgBox; }; class MyMessageBox { public: void sendMessage(Message *msg, User *recvr); Message receiveMessage(); vector<Message> *dataMessageList; }; Cuando intento compilarlo usando gcc, aparece el siguiente error: MyMessageBox no nombra un tipo
124 c++  windows  types 

7
C ++, tienda libre frente a montón
new/deleteSe dice que las asignaciones dinámicas con tienen lugar en la tienda gratuita , mientras que las malloc/freeoperaciones usan el montón . Me gustaría saber si existe una diferencia real en la práctica. ¿Los compiladores hacen una distinción entre los dos términos? ( Almacén y montón gratuitos , no new/malloc)

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.