C++ C+中的静态布尔函数+;

C++ C+中的静态布尔函数+;,c++,static,boolean,C++,Static,Boolean,该函数定义为static bool foo(const std::string&ivvariable)属于A类。 当我使用if(A::foo(Var))时,我发现A::foo(Var)的返回值不会改变,我在很多地方使用它,并且Var也会改变。那么,这是否意味着在我第一次使用A::foo(Var)之后,它的返回值将是固定的?非常感谢 查看A::foo的文档,看看它是否表示在第一次调用后忽略参数。如果它确实这么说,那么您就不应该期望返回值发生变化。如果它没有这样说,那么您应该期望值会以某种方式发生变

该函数定义为
static bool foo(const std::string&ivvariable)属于A类。

当我使用
if(A::foo(Var))
时,我发现A::foo(Var)的返回值不会改变,我在很多地方使用它,并且
Var
也会改变。那么,这是否意味着在我第一次使用A::foo(Var)之后,它的返回值将是固定的?非常感谢

查看A::foo的文档,看看它是否表示在第一次调用后忽略参数。如果它确实这么说,那么您就不应该期望返回值发生变化。如果它没有这样说,那么您应该期望值会以某种方式发生变化,这取决于输入以及文档希望告诉您的其他事情

当然,文档可能是错误的或误导性的,在这种情况下,查看源代码可以澄清这一点

如果没有文档,我建议您与代码的作者联系


如果你是作者,你可能有一些工作要做。

那么问题/问题是什么?你会惊讶于函数
intf(inta){return 3;}
总是返回
3
,即使你改变参数也是如此吗?为什么会这样令人惊讶?他应该得到探险家徽章吗?@Johanneschaub litb:不,但是回答者应该得到“透视者”徽章:-)试着打电话给
foo(“”
)。(是的,我正试图从一系列输入值重建
foo
。期待更多的评论。)我想要“千里眼”徽章!