除了 cout 和 endl 之外,std:: 与什么一起使用?
What is std:: used in conjunction with aside from cout and endl?
我的程序最初使用 using namespace std;
但我从很多人那里听说这是不好的编程习惯所以我想改掉这个习惯。我将程序中的所有 cout
和 endl
更改为 std::cout
和 std::endl;
。
除了 cout
和 endl
,还有什么使用命名空间 std
?例如:我的程序中有向量和字符串;他们使用 std::
吗?
列表如果不是太长或太麻烦就更好了。
将整个 std 命名空间转储到您的程序中可能不是最明智的选择,但我不会因为使用 std 中的特定元素而感到困扰。因此,您可以使用 using std::cout
、using std::endl
等而不是编写 using namespace std
。在我看来,必须限定大量代码并没有帮助提高可读性。
至于std中的内容,这是一个很长的列表,包括所有STL。只需尝试编译并查看编译器在哪里抱怨。
For example: I have vectors and strings in my program; do they use std::
?
是的。向量和字符串是标准库的一部分。 std
命名空间的成员在 standard library
.
A list would be nice if it's not too long or too much of a hassle.
我不能给你一个长而简明的清单。但我可以告诉你如何找到标准库的成员。例如,以您的其他问题为例。字符串和向量是标准库的一部分吗?
如果我们转到此处,单击 'Strings library',我们实际上可以看到我们可以在 C++ 程序中使用的不同类型的字符串。这个过程对于向量也是一样的,在'Containers library'部分我们可以看到vector
、list
、map
等
如果您有 IDE,您还可以通过在语句前加上 std::
-
查看标准库的成员
虽然您必须包含一个匹配的头文件才能看到标准库的成员,但头文件的命名与您期望的一样,
#include <list>
#include <vector>
#include <string>
简而言之:
对于 C++ 标准库中的 everything。
其中包括数据结构、算法、输入输出函数、type_traits、字符串操作,几乎所有您可以在 C 标准库中找到的内容...。你可以找到一个列表,例如在 cppreference.com
C++标准库提供的几乎所有类型和函数都在命名空间std
中。粗略地说,这包括文件名中没有 .h
的标准 header 中的所有内容 - 例如 <vector>
、<iostream>
(引入 std::cout
)、<string>
(std::string
),<algorithm>
(标准算法),以及所有其他标准 C++ header 文件。它不包括 C 标准库(<stdio.h>
、<stdlib.h>
等),尽管它们在 C++ 标准库(<cstdio>
、<cstdlib>
等)中具有等效项将它们的声明放入命名空间 std
.
写清单没有意义。如果您正在使用 C++ 标准库的任何部分,您将使用命名空间 std
。所以任何对C++标准库的引用都是事实上的列表。
有几个例外(例如,标准 header 中的名称被指定为宏),但这种情况很少见。
我的程序最初使用 using namespace std;
但我从很多人那里听说这是不好的编程习惯所以我想改掉这个习惯。我将程序中的所有 cout
和 endl
更改为 std::cout
和 std::endl;
。
除了 cout
和 endl
,还有什么使用命名空间 std
?例如:我的程序中有向量和字符串;他们使用 std::
吗?
列表如果不是太长或太麻烦就更好了。
将整个 std 命名空间转储到您的程序中可能不是最明智的选择,但我不会因为使用 std 中的特定元素而感到困扰。因此,您可以使用 using std::cout
、using std::endl
等而不是编写 using namespace std
。在我看来,必须限定大量代码并没有帮助提高可读性。
至于std中的内容,这是一个很长的列表,包括所有STL。只需尝试编译并查看编译器在哪里抱怨。
For example: I have vectors and strings in my program; do they use
std::
?
是的。向量和字符串是标准库的一部分。 std
命名空间的成员在 standard library
.
A list would be nice if it's not too long or too much of a hassle.
我不能给你一个长而简明的清单。但我可以告诉你如何找到标准库的成员。例如,以您的其他问题为例。字符串和向量是标准库的一部分吗?
如果我们转到此处,单击 'Strings library',我们实际上可以看到我们可以在 C++ 程序中使用的不同类型的字符串。这个过程对于向量也是一样的,在'Containers library'部分我们可以看到vector
、list
、map
等
如果您有 IDE,您还可以通过在语句前加上 std::
-
虽然您必须包含一个匹配的头文件才能看到标准库的成员,但头文件的命名与您期望的一样,
#include <list>
#include <vector>
#include <string>
简而言之:
对于 C++ 标准库中的 everything。
其中包括数据结构、算法、输入输出函数、type_traits、字符串操作,几乎所有您可以在 C 标准库中找到的内容...。你可以找到一个列表,例如在 cppreference.com
C++标准库提供的几乎所有类型和函数都在命名空间std
中。粗略地说,这包括文件名中没有 .h
的标准 header 中的所有内容 - 例如 <vector>
、<iostream>
(引入 std::cout
)、<string>
(std::string
),<algorithm>
(标准算法),以及所有其他标准 C++ header 文件。它不包括 C 标准库(<stdio.h>
、<stdlib.h>
等),尽管它们在 C++ 标准库(<cstdio>
、<cstdlib>
等)中具有等效项将它们的声明放入命名空间 std
.
写清单没有意义。如果您正在使用 C++ 标准库的任何部分,您将使用命名空间 std
。所以任何对C++标准库的引用都是事实上的列表。
有几个例外(例如,标准 header 中的名称被指定为宏),但这种情况很少见。