我正在查看其他人编写的代码并碰到我不理解的“如果”:
if (!buffer || len == 0)
在函数中
void getText(const char* objName, char* buffer, uint16_t len)
传递给函数的缓冲区是 char 数组声明的:char buff[10]={0};
“!缓冲区”是什么意思?如果它是 bool 对我来说是有意义的,但我以前从未见过像 Not Char_Pointer 这样的声明。你能解释一下吗?
最佳答案
意思是“不为空”。当您将任何类型与逻辑运算符一起使用时,如果可能,它会“根据上下文转换为 bool
”,对于指针,转换结果为 true
,前提是指针不是无效的。请参阅 http://en.cppreference.com/w/cpp/language/implicit_conversion 中的 bool 转换了解详情。
我假设您从语法上使用 C 或 C++,但通常您应该使用编程语言标记问题。
关于c++ - NOT char_pointer 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43002900/