使用名称空间std有什么意义;做 这个C++代码有什么问题?

使用名称空间std有什么意义;做 这个C++代码有什么问题?,c++,C++,我收到一条错误消息说:应该有一个;在z之前,这是不正确的。我唯一不明白的是第二行的目的 #include <iostream> using namespace std; int subtraction(int a, int b) { int r; r=a-b; return r; } int main() { int z; z = subtraction (5,9); cout z; } 提前感谢。使用名称空间std;意味着您可以

我收到一条错误消息说:应该有一个;在z之前,这是不正确的。我唯一不明白的是第二行的目的

#include <iostream>
using namespace std;

int subtraction(int a, int b)
{
    int r;
    r=a-b;
    return r;
}

int main()
{
    int z;
    z = subtraction (5,9);
    cout z;
}
提前感谢。

使用名称空间std;意味着您可以稍后编写cout,而不是std::cout。它以严重的名称空间污染为代价节省了输入

您的编译错误可以通过编写cout来修复 使用名称空间std有什么意义;是吗

它告诉编译器在哪个类/命名空间中查找标识符。您可以使用名称空间std;或者必须将其放在属于它的每个函数前面

<>这个C++代码有什么问题?< /P> 使用std::cout的语法为:


变量源是在操作符的帮助下插入的。要开始解释它的作用,了解名称空间的作用非常重要。名称空间是划分代码的逻辑单元,您可以创建自己的名称空间或使用其他名称空间。使用名称空间的好处是让程序在逻辑上用类似的函数分割代码。这和类非常相似,但您不需要像类一样初始化名称空间。在Java中,这类似于包。要在名称空间中使用函数,需要使用名称空间标识符,后跟正在调用的函数。这将在您想要使用的命名空间范围中调用正确的函数。创建命名空间的示例如下所示:

namespace connection 
{
 int create_connection();
 int close_connection();
 //ect.......
}   
然后,在代码的后面部分,当您要调用create_connection时,需要按以下方式执行:

connection::create_connection();
对于您的答案,您可以避免在本例连接或std中键入名称空间标识符。您可以使用using指令将整个名称空间引入代码段。这将允许您调用该命名空间中的函数,而无需使用后跟作用域指示符的命名空间:

执行此操作的以下语法如下所示:

using namespace connection:
还是你的情况

using namespace std;

这样,通过使用STD,您将获得对包括C++ I/O对象CUT和CIN的STD命名空间的访问,而不必首先使用命名空间和范围操作符。尽管更好的做法是将作用域限制在您想要实际使用的名称空间成员。在大型程序中,这将更清楚地解释编码的原因,并避免一些问题。要仅引入命名空间的特定成员,例如仅引入std::cin和std::cout,请执行以下操作:

using std::cin;
using std::cout;

这不是cout的用法。相关而不是int r;r=a-b;使用初始化:int r=a-b;。对于z也是一样。只需使用cout。如果主函数中没有显式返回,编译器将在末尾添加一个返回0。确实如此@JoaCHIMPILBORG是指C++标准,第3.6-1章第5段。是的,您可以对main执行此操作,但不能对任何其他函数执行此操作。我的印象是,调用iostream库允许使用cout,而不是namespace std;。如果名称空间std;是什么允许cout,那么iostream库调用什么呢?这是一个很好的例子observation@KadenHardy:非标准include为您提供了cout,但您应该使用标准include,在这里您需要使用std::cout。这是一个很好的答案,遗憾的是,对于最初的投票狂潮来说为时已晚。但这里有一个加号。
using std::cin;
using std::cout;