#include <iostream>
using namespace std;
int main() {
int age = 20;
const char* pDept = "electronics";
cout << age << " " << pDept;
}
以上代码是正常的。
为什么我不应该使用
cout << *pDept
而不是上面的 cout << pDept
?
两者在C++中都是合法的。使用哪一种取决于您要打印的内容。
在你的例子中,
pDept
是一个指向内存中char
的指针。它还可以用作以 char[]
结尾的 \0
。因此 std::cout << pDept;
打印指针指向的字符串。
*pDept
是pDept
指向的内容,即字符串的第一个字符。因此 std::cout << *pDept;
仅打印第一个字符。