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.

3
Comportamiento indefinido en el vector de vectores emitidos
¿Por qué este código escribe un número indefinido de enteros aparentemente sin inicializar? #include <iostream> #include <vector> using namespace std; int main() { for (int i : vector<vector<int>>{{77, 777, 7777}}[0]) cout << i << ' '; } Esperaba que la salida fuera 77 777 7777. ¿Se supone que este código …
19 c++ 

2
int numeral -> reglas de conversión de puntero
Considere el siguiente código. void f(double p) {} void f(double* p) {} int main() { f(1-1); return 0; } MSVC 2017 no compila eso. Se da cuenta de que hay una llamada sobrecargada ambigua, ya que 1-1es lo mismo 0y, por lo tanto, se puede convertir double*. Otros trucos, como …
19 c++  visual-c++  types 

3
C ++ Los hilos en el interior del bucle imprimen valores incorrectos
Estoy tratando de entender Multi-threading en c ++, pero estoy atrapado en este problema: si inicio hilos en un bucle for, imprimen valores incorrectos. Este es el código: #include <iostream> #include <list> #include <thread> void print_id(int id){ printf("Hello from thread %d\n", id); } int main() { int n=5; std::list<std::thread> threads={}; …




2
¿Por qué el mismo concepto verifica la igualdad de tipos dos veces?
Al observar la posible implementación del concepto same_as en https://en.cppreference.com/w/cpp/concepts/same_as noté que algo extraño está sucediendo. namespace detail { template< class T, class U > concept SameHelper = std::is_same_v<T, U>; } template< class T, class U > concept same_as = detail::SameHelper<T, U> && detail::SameHelper<U, T>; La primera pregunta es ¿por …
19 c++  c++20  concept 


5
Cómo resolver colgar const ref
El siguiente programa corto #include <vector> #include <iostream> std::vector<int> someNums() { return {3, 5, 7, 11}; } class Woop { public: Woop(const std::vector<int>& nums) : numbers(nums) {} void report() { for (int i : numbers) std::cout << i << ' '; std::cout << '\n'; } private: const std::vector<int>& numbers; }; …
18 c++ 

3
Los valores de cierre de Lambda se pueden pasar como parámetros de referencia de valor
Descubrí que los lvaluecierres lambda siempre se pueden pasar como rvalueparámetros de función. Vea la siguiente demostración simple. #include <iostream> #include <functional> using namespace std; void foo(std::function<void()>&& t) { } int main() { // Case 1: passing a `lvalue` closure auto fn1 = []{}; foo(fn1); // works // Case 2: …



4
Enum. Continua C ++ 11
¿Hay alguna manera de verificar en C ++ 11 si una enumeración es continua ? Es totalmente válido dar valores enum que no lo son. ¿Hay tal vez una característica como un rasgo de tipo en C ++ 14, C ++ 17 o tal vez C ++ 20 para verificar …
17 c++  c++11  c++14  c++17  c++20 



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.