如果整数初始化为空,则为整数指定默认值
Give integers a default value if they are initialized as empty
我有这个(它是一个节点.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
我想做的是给这些变量默认值,以防没有传递任何值来正确初始化它们?(意思是,args[2]、args[3]、args[4]是未定义的。
如何为这些整数提供默认值?
>Value
类型有一个很好的IsUndefined()
方法来检查这一点
您可以使用三元表达式在未定义值的情况下设置值 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
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 具有默认值的引用获取函数
- 当给定默认值时,为什么此模板参数推导失败
- 从具有默认值的部分指定模板类继承时发生SWIG错误,具有不带默认值的正向声明
- 格式化浮点值:返回默认值
- 如何将数组部分初始化为某个默认值?
- asn1c 不会从 asn.1 模块中提取八位字节字符串的默认值
- 创建一个包含 c++ 默认值的环境文件
- C++(和 ROS) - 包含与前向声明引用,设置默认值和类型定义
- Makefile g++ 使用命令行中的 -D 变量进行编译,默认值
- Switch 语句(字符串)一直选择默认值,除非其为零
- 如何使用默认值将枚举声明为 extern
- 如何在提升程序选项中设置矢量<矢量>的默认值<string>
- 如何使用默认值为构造函数中的枚举赋值?
- 变量始终在函数中重置为默认值
- 如何在C++中提供模板化函数作为另一个函数的参数,默认值?
- 提升灵气整数,默认值为文字
- 如果整数初始化为空,则为整数指定默认值
- 整数的默认值
- 为什么我得到这种输出,因为我知道数组中未初始化的整数元素的默认值是0