c ++语法,根据此代码返回值类型。

时间:2017-06-08 10:59:30

标签: c++

if(isRoot) isCutVertex[here] = (children>=2); 

我想知道返回值是bool类型(1还是0)还是int类型(根据子项的值)

2 个答案:

答案 0 :(得分:1)

表达式的类型 children >= 2在C ++中是bool(Cf中的int

bool 可能会升级,具体取决于isCutVertex的类型。如果isCutVertexstd::vector<bool>专精,则不会进行任何类型转换(不考虑here可能执行的任何操作。)

答案 1 :(得分:0)

表达式

 isCutVertex[here] = (children>=2);

推断这是有效的

 isCutVertex[here] = x;

当x结果为truefalse

所以你可以

bool isCutVertex[10];

isCutVertex[0] = true;
isCutVertex[1] = false;

std::vector<bool> isCutVertex2;
isCutVertex2[0] = true;
isCutVertex2[1] = false;