3つの決定されたパラメーターと1つの追加パラメーターを受け取る関数があります。
Matlabでは、nargin <4を使用して、追加パラメーターがある場合と追加パラメーターがない場合を区別できます。
この動作を模倣してC ++で関数を実装するにはどうすればよいですか?
パラメータパック/可変個引数パラメータが役立つ場合がありますが、使用方法がわかりません。
誰かが私にいくつかの情報を流すことができますか?
を使用できますstd::optional
。関数宣言で、のデフォルト値をstd::nullopt
オプションの引数に割り当てます。これは、値std::optional
が含まれていないことを示すために設計された特別な値です。したがって、3つまたは4つのパラメーターを使用して関数を呼び出すことができます。
void function(int a, int b, int c, std::optional<int> d = std::nullopt) {
// check if d has value (there is a special bool conversion in std::optional)
if (d) {
int temp = d.value();
}
}
int main() {
function(0,1,2);
function(0,1,2,3);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加