Preguntas etiquetadas con c++

19
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 0x0, 0Lo...

19
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...

18
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 <<...

17
¿Es este un antiguo constructor de estilo C ++?

Aquí una pieza de código C ++. En este ejemplo, muchos bloques de código parecen llamadas de constructor. Desafortunadamente, el código de bloqueo n. ° 3 no lo es (puede verificarlo usando https://godbolt.org/z/q3rsxn y https://cppinsights.io ). Creo que es una notación antigua de C ++ y podría...

17
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 si la enumeración es continua? Esto se utilizará en un...