📜  C++ 中 cout 和 std::cout 的区别(1)

📅  最后修改于: 2023-12-03 14:59:48.248000             🧑  作者: Mango

C++ 中 cout 和 std::cout 的区别

在 C++ 中,coutstd::cout 都是输出流对象,用于向标准输出设备(通常是控制台)输出数据。它们的区别在于名称空间。

cout 是 iostream 标准库中定义的全局对象,在使用时需要使用 using namespace std 或写完整的 std::cout

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, world!" << endl;
    return 0;
}

std::cout 是 iostream 标准库中定义的输出流对象,它在 std 名称空间中。我们可以在使用前使用 using namespace std 或直接指定名称空间 std::cout

#include <iostream>

int main() {
    using namespace std;
    cout << "Hello, world!" << endl;
    return 0;
}

两者的效果是相同的,如果没有引入 using namespace std,我们可以使用 std::cout 避免命名冲突。

#include <iostream>

int main() {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

注意,标准库中的大多数标识符都定义在 std 名称空间中,如果不加限定,可能会与用户自定义的标识符发生冲突。因此,建议始终在使用标准库时指定名称空间。

总结

在 C++ 中,coutstd::cout 都是输出流对象,用于向标准输出设备输出数据。它们的区别在于名称空间。cout 是 iostream 标准库中定义的全局对象,需要使用 using namespace std 或写完整的 std::coutstd::cout 是 iostream 标准库中定义的输出流对象,它在 std 名称空间中。建议在使用标准库时始终指定名称空间,避免命名冲突。