not char_pointer是什么意思?

时间:2017-03-24 15:05:16

标签: c++ syntax char logic unary-operator

我正在查看其他人编写的代码并碰到了#34;如果"我不明白:

if (!buffer || len == 0)

在功能

void getText(const char* objName, char* buffer, uint16_t len)
传递给函数的

缓冲区是声明的char数组:char buff [10] = {0};

什么"!缓冲"手段?如果它是bool它对我有意义,但我从未见过像Not Char_Pointer这样的声明。你能解释一下吗?

1 个答案:

答案 0 :(得分:1)

这意味着“不为空”。当您使用具有逻辑运算符的任何类型时,如果可能,它将“在上下文中转换为bool”,对于指针,如果指针不为null,则转换结果为true。有关详细信息,请参阅http://en.cppreference.com/w/cpp/language/implicit_conversion中的布尔转换。

我假设你从语法中使用C或C ++,但一般来说你应该用编程语言标记问题。