Jak przekazać opcjonalne argumenty do metody w C ++? Dowolny fragment kodu ...
c++
optional-arguments
Swapnil Gupta
źródło
źródło
Odpowiedzi:
Oto przykład przekazywania trybu jako parametru opcjonalnego
możesz zadzwonić do myfunc na oba sposoby i oba są ważne
źródło
NULL
oznacza wskaźnik NULL, mimo że zostałby zdefiniowany jako dosłowny0
. Nie jest to uniwersalna nazwa dla stałego zera. Dla liczb całkowitych (nie-wskaźniki) należy korzystać z numerów:int mode = 0
.Ważna zasada dotycząca użycia parametrów domyślnych:
Parametry domyślne należy określić na prawym końcu, po określeniu parametru wartości domyślnej nie można ponownie określić parametru innego niż domyślny. dawny:
źródło
int foo(int x, int y = 10, int z = 10)
i chciałbym zadzwonićfoo(1,2)
, więc podając tylko jeden opcjonalny parametr. Wydawało się, że nie jestem w stanie zmusić go do pracy.Dla niektórych może być interesujące, że w przypadku wielu parametrów domyślnych:
Biorąc pod uwagę następujące wywołania funkcji:
Generowane są następujące dane wyjściowe:
Źródła: http://www.learncpp.com/cpp-tutorial/77-default-parameters/
źródło
Użyj parametrów domyślnych
Uwaga: poniższe elementy są źle sformułowane
źródło
Aby postępować zgodnie z podanym tutaj przykładem, ale aby wyjaśnić składnię przy użyciu plików nagłówkowych, deklaracja forward funkcji zawiera opcjonalną wartość domyślną parametru.
myfile.h
myfile.cpp
źródło
Oddzielają je przecinkami, podobnie jak parametry bez wartości domyślnych.
źródło
Zwykle przez ustawienie domyślnej wartości parametru:
źródło
Wraz z wprowadzeniem std :: optional w C ++ 17 możesz przekazać opcjonalne argumenty:
Wynik:
Zobacz https://en.cppreference.com/w/cpp/utility/optional
źródło