Bagaimana cara meneruskan argumen opsional ke metode di C ++? Semua potongan kode ...
c++
optional-arguments
Swapnil Gupta
sumber
sumber
Jawaban:
Berikut adalah contoh mode passing sebagai parameter opsional
Anda dapat memanggil myfunc dengan kedua cara dan keduanya valid
sumber
NULL
berarti pointer NULL, meskipun itu akan didefinisikan sebagai literal0
. Ini bukan nama universal untuk nol konstan. Untuk bilangan bulat (non-pointer) Anda harus menggunakan nomor:int mode = 0
.Aturan penting sehubungan dengan penggunaan parameter default:
Parameter default harus ditentukan di ujung paling kanan, setelah Anda menentukan parameter nilai default, Anda tidak dapat menentukan parameter non default lagi. ex:
sumber
int foo(int x, int y = 10, int z = 10)
dan ingin meneleponfoo(1,2)
, jadi hanya memberikan satu parameter opsional. Saya tampaknya tidak bisa membuatnya bekerja sendiri.Mungkin menarik bagi sebagian dari Anda bahwa jika ada beberapa parameter default:
Diberikan panggilan fungsi berikut:
Output berikut dihasilkan:
Referensi: http://www.learncpp.com/cpp-tutorial/77-default-parameters/
sumber
Gunakan parameter default
Catatan: Berikut ini adalah format yang salah
sumber
Untuk mengikuti contoh yang diberikan di sini, tetapi untuk memperjelas sintaks dengan penggunaan file header, deklarasi fungsi maju berisi nilai default parameter opsional.
myfile.h
myfile.cpp
sumber
Dengan koma yang memisahkannya, seperti parameter tanpa nilai default.
sumber
Biasanya dengan menyetel nilai default untuk parameter:
sumber
Dengan diperkenalkannya std :: opsional di C ++ 17, Anda dapat meneruskan argumen opsional:
Keluaran:
Lihat https://en.cppreference.com/w/cpp/utility/optional
sumber