C++ C++;

C++ C++;,c++,scala,syntax,C++,Scala,Syntax,Scala中有一种特殊的语法,允许某种函数“赋值”或在一行中返回。我想知道C++中是否有等价的东西。 Scala示例:def abs(x:Int)=如果(x>=0)x else-x您可以使用三元运算符: int xyz(int x) { return x >= 0 ? x : -x; } 有关更多信息,请参见。intabs(intx){return x>=0?x:-x;}?在大多数语言中,它被称为三元/条件表达式。搜索应该会得到答案。它是否会生成函数或闭包,如auto abs=[](in

Scala中有一种特殊的语法,允许某种函数“赋值”或在一行中返回。我想知道C++中是否有等价的东西。
Scala示例:
def abs(x:Int)=如果(x>=0)x else-x

您可以使用三元运算符:

int xyz(int x) { return x >= 0 ? x : -x; }

有关更多信息,请参见。

intabs(intx){return x>=0?x:-x;}
?在大多数语言中,它被称为三元/条件表达式。搜索应该会得到答案。它是否会生成函数或闭包,如
auto abs=[](int x){return x>=0?x:-x;}
?您的问题非常不清楚。1) 代码中没有函数。2) 代码中没有赋值。另外,一般来说,当你问是否有“等价物”时,你需要解释你到底想要什么是等价物。首先,如果你只是用一种语言来编码,并希望它被翻译成另一种语言,只有两种语言的专家才能回答,而如果你解释你想要什么,那么C++中的每一位专家都可以回答。其次,所有语言都有细微的差别,所以在C++中不可能找到100%的东西。equivalent@1201ProgramAlarm:为了使代码等效,它必须是虚拟成员函数,因为OP的代码是非最终方法,而虚拟成员函数是与非最终方法最接近的等效方法。此外,类型需要是
std::int32\u t
,而不是
int
。并且返回类型在Scala版本中推断。为了使代码等效,它需要是虚拟成员函数,因为OP的代码是非最终方法,而虚拟成员函数是与非最终方法最接近的等效方法。此外,类型需要是
std::int32\u t
,而不是
int
。并且返回类型是在Scala版本中推断出来的。