Pytania oznaczone «c++»

19
liczba całkowita -> reguły konwersji wskaźnika

Rozważ następujący kod. void f(double p) {} void f(double* p) {} int main() { f(1-1); return 0; } MSVC 2017 tego nie kompiluje. Oznacza to, że istnieje niejednoznaczne przeciążone wywołanie, ponieważ 1-1jest takie samo, jak 0i dlatego może zostać przekształcone w double*. Inne sztuczki, takie...

19
Nieokreślone zachowanie w wektorze rzutowanych wektorów

Dlaczego ten kod zapisuje nieokreśloną liczbę pozornie niezainicjowanych liczb całkowitych? #include <iostream> #include <vector> using namespace std; int main() { for (int i : vector<vector<int>>{{77, 777, 7777}}[0]) cout << i << ' '; } Spodziewałem się,...

18
Jak rozwiązać zwisający const ref

Poniższy krótki program #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
Czy to stary konstruktor w stylu C ++?

Oto kawałek kodu C ++. W tym przykładzie wiele bloków kodu wygląda jak wywołania konstruktora. Niestety, kod blokowy nr 3 nie jest (możesz to sprawdzić za pomocą https://godbolt.org/z/q3rsxn i https://cppinsights.io ). Myślę, że jest to stara notacja C ++, która mogłaby wyjaśnić wprowadzenie...

17
Ciągłe wyliczanie C ++ 11

Czy istnieje sposób sprawdzenia w C ++ 11, czy wyliczenie jest ciągłe ? W pełni uzasadnione jest podawanie wartości wyliczeniowych, które nie są. Czy w C ++ 14, C ++ 17 jest jakaś cecha typu, a może C ++ 20, aby sprawdzić, czy wyliczanie jest ciągłe? Należy tego użyć w static_assert. Oto mały...