c++中命名空间std的函数都有哪些

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++中命名空间std的函数都有哪些相关的知识,希望对你有一定的参考价值。

小弟初学c++ 想知道命名空间std 中的函数有哪些 和这些函数的功能 越全越好 !!!
晕 我昨天偶然知道 swap函数 在std中 而我以前都是自己编一个( 汗!! )所以想知道std中的函数 没想到这么多!!!!!!!!
有没有几个 初学者常用的函数 希望大虾指点一二!!!!!!!!!!!!!!!!!!!!!!!!

越全越好...
你还真贪啊,在命名空间里面包括标准c++中所有的函数,我最近在学校的图书馆借了一本<<标准C++库大全>>,有568页呢(当然了其中有示范代码).同意楼上的,换个学习方式,就算给你了,很多你也用不到的,难道你要背下来吗,不用的话,时间一长,也就忘了!你还是看C++实例来的更快些!
不好意思啊,我也是初学C++,看了下那本书,能看懂的不多.就像你说的,像你那样经常写同一段代码,当发现有一个库函数能够完成相应的功能的时候,才会记得更牢靠.
参考技术A c++不是这么学的,建议自己多写程序,遇到不会的问题,上网寻找答案。这样会进步的比较快,你这样像背书似的学习方式,个人感觉不太利于程序的记忆。因为很多的函数,你没有实际的应用,根本就体会不到函数的用处。所以建议楼主还是换一个学习方式,事半功倍 参考技术B 同意一楼的观点,不要死钻牛角尖,顶尖高手也不一定能够记得全,做项目的时候还是要查书的!ok
这是浪费时间。
良药苦口!
参考技术C 兄弟,有问题先用MSDN查查好不,什么函数及用法都在里面,真是的

哪些 C 构造出现在 std 命名空间中?

【中文标题】哪些 C 构造出现在 std 命名空间中?【英文标题】:Which C constructs appear in the std namespace? 【发布时间】:2018-07-14 03:16:01 【问题描述】:

在 C++ 中包含 C 标准库头 &lt;foo.h&gt; 的推荐方法是包含相应的 C++ 头 &lt;cfoo&gt;

根据我的经验,这会将 一些 相应的 C 构造放入 std 命名空间中,但其他一些在全局范围内,有时它们会出现在两个地方(即 @987654325 @命名空间和全局范围)。

这取决于编译器(有些人喜欢只在 std 中包含 size_t 而不是在全局范围内,其他人总是在全局范围内包含它)和构造(例如既不是 assert 也不是 @尽管包括 cassertcerrno,但 987654329@ 似乎曾出现在 std 命名空间中。

标准的要求是什么,是否有任何简单的规则可移植地访问与std 命名空间内外的位置相关的 C 构造(比 using namespace std 更好)?

This question 涵盖相同的领域,但那里的答案已经反映了我的理解,即 cfoo 将所有内容都放在 std 中 - 但没有回答为什么像 asserterrno 这样的东西不要这样的问题t 出现在std 在那种情况下,以及如何知道类似“例外”的完整列表。

【问题讨论】:

@GManNickG - 这个问题有点窄(它询问东西是否也出现在全局命名空间中 - 但我的问题是“我怎样才能便携地使用任何 C 构造”)。这个问题的答案似乎是“不”——但这留下了如何使用任何给定结构的问题。例如,“否”并不意味着所有内容都出现在 std 中,因为 assert 肯定不会出现(可能还有其他任何作为宏实现的内容)。另外,那里的答案很烂?被接受的似乎没有回答问题(也许引用被截断了)。 如有疑问,请始终添加std:: @L.Kue - 它不起作用,考虑assert @BeeOnRope assert 是一个宏,而不是一个函数,因此没有使用std:: @BeeOnRope,另一个问答的要点是,包括&lt;c___&gt; 将保证std:: 中的名称。至于宏,你必须知道什么是宏,什么不是。其中许多都是大写的。 【参考方案1】:

Assert 和 errno 是预处理器宏,它们是宏意味着它们不能识别名称空间和范围。 (预处理器在编译之前运行,不尊重任何作用域/命名空间)

&lt;cfoo&gt; 标头中除宏之外的所有内容都应放在 std 命名空间中。

【讨论】:

所以这两个宏是唯一的例外——没有出现在::std中的东西? 不,所有的宏都不会出现在::std 中——宏通常没有命名空间的概念。您实际上不能将宏放在名称空间中。我将相应地编辑我的答案。感谢您指出这一点。 我了解宏没有命名空间的概念,由预处理器实现。那不是问题。问题是 std 命名空间中没有出现哪些 C 构造?如果答案是“所有这些都实现为宏”,那么问题是这是否由标准定义以及我可以在哪里查看什么是宏。 Cppreference 是一个很好的资源,你可以看看 来了解一下。 en.cppreference.com/w/cpp/header/cmath

以上是关于c++中命名空间std的函数都有哪些的主要内容,如果未能解决你的问题,请参考以下文章

C++ 从 std::async 函数读取命名空间中的全局变量标志

关于iostream和c++命名空间

C++ 中的头文件和命名空间

C++ 11 多线程编程之线程命名空间 - this_thread

C# 常用 命名空间都有哪些 这些命名空间是的作用是?

linux eclipse c++ 本地命名空间和“std::”