c++ - 如何确定用户是否为默认参数指定了值?

标签 c++ function parameters optional-parameters default-arguments

我有一个带有默认参数的 C++ 函数。

在函数中,如果我发现这个参数有默认值,可能有两种可能性 - (A) 调用这个函数的用户没有为这个参数提供值,因此分配了默认值 (B) 用户提供此参数的默认值。

我需要能够区分这两种情况。这样做的最佳方法是什么?

最佳答案

据我所知,编译器会在调用站点替换默认参数。无法将此与提供完全相同参数的用户区分开来。

您可以使用两种不同的函数来区分这两种情况:一种具有您要为其指定默认值的参数,另一种则没有。

关于c++ - 如何确定用户是否为默认参数指定了值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39015265/

相关文章:

c# - 在 C# 中调用时执行 Double & Float 方法参数

c++ - 如何在 C 或 C++ 中使用语句 block 定义函数?

c++ - 错误的 bool 值传递给 C++ 中的函数

objective-c - C 函数调用 Objective-C 函数

c++ - 错误 C2664 : 'print_result' : cannot convert parameter 1 from 'int (__cdecl *)(int,int,int)' to 'int'

c++ - 未定义对 `__imp___glutInitWithExit' 等的引用,但库已链接

c++ - 如何让用户输入两次以上?

c++ - SFML 2.1 - 检测单击鼠标并更改纹理

c++ - 有没有一种方法可以针对永久对象优化shared_ptr?

c++ - 使用参数的 getter 之一设置 C++ 函数中另一个参数的值?