给整数一个默认值,如果它们被初始化为空

我有这个(这是一个Node.js插件)

void Method(const v8::FunctionCallbackInfo<v8::Value>& args) { int count = args[2]->ToNumber()->NumberValue(); int priority = args[3]->ToNumber()->NumberValue(); int priority_search_cap = args[4]->ToNumber()->NumberValue(); cout << " count => " << count << endl; cout << " priority => " << priority << endl; cout << " priority_search_cap => " << priority_search_cap << endl; } 

我注销的是:

  count => -2147483648 priority => -2147483648 priority_search_cap => -2147483648 

我想要做的是给这些variables的默认值,以防没有值传递正确初始化它们? (含义,args [2],args [3],args [4]是不确定的。)

我怎样才能给这些整数的默认值?

Valuetypes有一个很好的IsUndefined()方法来检查这个

您可以使用三元expression式来设置值0,以防未定义的值:

 int count = args[2]->IsUndefined() ? 0 : args[2]->ToNumber()->NumberValue(); int priority = args[3]->IsUndefined() ? 0 : args[3]->ToNumber()->NumberValue(); int priority_search_cap = args[4]->IsUndefined() ? 0 : args[4]->ToNumber()->NumberValue(); 

检查Value API在这里: http : //bespin.cz/~ondras/html/classv8_1_1Value.html#aea287b745656baa8a12a2ae1d69744b6