我正在查看其他人编写的代码并碰到了#34;如果"我不明白:
if (!buffer || len == 0)
在功能
void getText(const char* objName, char* buffer, uint16_t len)
传递给函数的缓冲区是声明的char数组:char buff [10] = {0};
什么"!缓冲"手段?如果它是bool它对我有意义,但我从未见过像Not Char_Pointer这样的声明。你能解释一下吗?
答案 0 :(得分:1)
这意味着“不为空”。当您使用具有逻辑运算符的任何类型时,如果可能,它将“在上下文中转换为bool
”,对于指针,如果指针不为null,则转换结果为true
。有关详细信息,请参阅http://en.cppreference.com/w/cpp/language/implicit_conversion中的布尔转换。
我假设你从语法中使用C或C ++,但一般来说你应该用编程语言标记问题。