我们都知道,使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为“空指针”(亦即检查分配内存的操作是否成功),这是良好的编程习惯,也是编写可靠程序所必需的.但是,如果你简单地把这一招应用到 new 上,那可就不一定正确了.我经常看到类似这样的代码: int* p = new int[SIZE]; if ( p == 0 ) // 检查 p 是否空指针 return -1; // 其它代码 其实,这里的 i
shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出 如: #/bin/sh local ret='sqlite3 test.db "select test from test;"' 或: local ret=$(sqlite3 test.db "select test from test;") 如果test.db被锁定,ret将为空,标准错误输出有信息“Error:database is locked”.
当变量为'',false,null,undefined,0,NaN时,返回默认值 var a='' a || 'hello world' "hello world" var a=false a || 'ccc' "ccc" var a=null a || 'ccc' "ccc" var a=undefined a || 'ccc' "ccc" 0 || 'ccc' "ccc" NaN || 'c