问题标签 [standard-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
132 浏览

c++ - MSDN - 是他们还是我?

这里我找不到标题 type_traits。是它丢失了还是我丢失了一些东西(再次......)。

0 投票
5 回答
1280 浏览

c++ - 在 C++ 中实现 C 标准库

假设操作系统/内核是用 C++ 编写的,并且不会“做”任何纯 C 风格的东西,而是公开基于成熟 C++ 标准库构建的 C 标准库。这可能吗?如果不是,为什么?

PS:我知道 C 库是“C++ 的一部分”,但假设它在内部基于基于 C++ 的实现。

小更新:似乎我在这里引发了关于我的规则“允许”什么的讨论。一般来说:C 标准库实现应该尽可能使用 C++/ Right (tm)。我主要考虑算法和在幕后对静态类对象进行操作。我并没有真正排除任何语言特性,而是试图将重点放在理智的 C++ 实现上。关于 setjmp 示例,我看不出为什么有效的 C(将使用其他在 C++ C 库中预先实现的部分或根本不使用任何其他库函数)会违反我的“规则”。如果 C++ 库中没有对应的库,为什么还要争论它的使用。

0 投票
2 回答
254 浏览

c++ - C++ 库的 C 部分是否自动为 C99?

符合 C++98/03/0x 实现的所有函数是否完全符合 C99?

我认为 C++0x 添加了一些 C99(语言)特性,但从未听说或读过任何关于 C 库函数的明确信息。

为避免混淆,我说的是使用<c*>头集中声明的函数的 C++ 程序。

谢谢。

0 投票
6 回答
178 浏览

c++ - C++标准模板库向量题

有人可以用英语解释这里发生了什么吗?

0 投票
3 回答
6213 浏览

python - 是否可以使用标准库(没有额外的模块)最小化 python 中的控制台?

我写了一个使用控制台的程序。大多数时候,用户必须看到控制台信息。对于命令行中的特定功能,我想在没有控制台升起的情况下运行脚本。我只是不想看到窗口,但它可以在任务栏中。我知道我可以使用额外的模块(gui、win32、..)来做到这一点,但我想使用标准的 python 库。

有可能这样做吗?

该程序应在 Windows 上运行。(蟒蛇2.7)

我指定...我知道我也可以使用 pythonw.exe。那么问题是如何有时使用 python.exe 和 pythonw.exe (从命令行)为特定功能启动相同的脚本?

0 投票
3 回答
407 浏览

c++ - 标准库分配器指针类型的要求

我正在尝试编写一个四叉树稀疏矩阵类。简而言之,aquadtree_matrix<T>要么是零矩阵,要么是 的四元(ne, nw, se, sw)quadtree_matrix<T>

我想最终测试不同的分配方案,因为这可能会影响线性代数运算的性能。因此,我还将quadtree_matrix在标准分配器类型上进行模板化,以便我可以重用现有的分配器。

我将不得不分配两种不同类型的数据: aT或 a node,其中包含四个指针(指向 T 或节点)。对于我将考虑的所有算法,我确切地知道期望什么样的数据,因为我知道在算法的任何时候我所面临的子矩阵的大小是多少(我什至不需要存储这些大小)。

我当然会使用两种不同的分配器:这没关系,因为分配器类型提供rebind模板和模板复制构造函数(并且旨在用作值类型,正如get_allocator标准容器的成员通过返回副本所建议的那样)。

问题是分配器成员函数使用某种pointer类型,它不需要是普通指针。一些分配器(增强进程间分配器)广泛使用此功能。

如果分配器指针类型是花园品种指针,我不会有任何问题:至少,我可以使用指向 void 的指针并将它们重新解释为正确的类型(node*T*)。我也可以使用联合(可能更好)。

据我所知,对类型的 POD 没有要求allocator::pointer。它们只需要是随机访问迭代器。

现在,我的问题是:

给定一个分配器类模板A<T>(或其等价物A::rebind<T>::other),是否有任何保证:

  1. 提供的静态转换能力A<T>::pointer是一个可访问的基础?A<U>::pointerUT
  2. 提供静态强制转换的能力A<T>::pointer是可访问的基础,并且被继承人的“运行时类型”(无论这在此上下文中意味着什么)是?A<U>::pointerTUU
  3. 类型A<void>::pointer(如果这有意义的话)?

或者有没有我没有想到的问题的解决方案?

0 投票
1 回答
125 浏览

java - 一个兼容的 Java 实现不能包含所有的标准库吗?

我正在用 JavaScript 编写 JVM 的实现,这意味着用 JavaScript为标准库编写大量本机代码。然而,标准库中有大量的类只被少数程序使用,试图让需要本地实现的部分本地实现既乏味又没有什么收获。

实际上是否要求有效的 Java 实现包含所有标准库类的实现?或者我可以让核心 Java 库(比如 java.lang.* 和它引用的所有内容)正常工作,然后声称我有一个兼容的 Java 实现,它可能会为引用未实现特性的代码抛出 VerifyErrors?

0 投票
4 回答
569 浏览

c - Is the term "libc" equivalent to "C standard library"?

I sometimes hear people using the terms "libc" and "C standard library" interchangeably. I understand that "libc" is the name (or part of the names) of many popular C standard library implementations. My guess is that because of the widespread use of these implementations, people started referring to the C standard library in general as "libc" although it is not an official name.

Is it correct to refer to the C standard library as "libc"?

0 投票
8 回答
593 浏览

c++ - C++ 标准库中“at()”索引函数的真实用例?

C++ 的 container vector, deque, ...at(index)除了operator[index]访问容器元素外,还提供访问器功能。

此成员函数和成员运算符函数 operator[] 之间的区别在于,如果请求的位置超出范围,则 deque::at 会通过抛出 out_of_range 异常来发出信号。

我从来没有在我的代码中需要这个函数,因为在我的 C++ 代码中访问可能超出范围的元素是没有意义的。始终编​​写代码以访问正确的索引(或在索引无法匹配的情况下产生有意义的错误/异常。)

at()我会对生产代码中使用的真实世界示例(可能来自一些开源项目,因为这会添加一些上下文)感兴趣。

也许有人可以举一个使用at()有意义的算法问题的例子。

注意:我最近在一些单元测试代码中使用了它,其中添加索引检查代码被认为不值得麻烦,并且抛出的 out_of_range 异常被at()认为是足够的 info+context 以防测试中断。

注意:关于ildjarn 的回答- 我不想就此展开讨论或评论。我对“积极”的发现很感兴趣,这是使用它具体例子。谢谢你。

0 投票
4 回答
1331 浏览

haskell - Haskell 标准库类型类的替代实现

我看到很多人抱怨标准库中的一些类型类说“Monad 应该需要 Functor”甚至“Monad 应该需要 Applicative”、“Applicative 应该需要 Pointed”、“Num 不应该需要 Show”等,所以,我有一些问题:

  1. 是否有关于类型类依赖树具有社区感知的那些“缺陷”的方式的论据,或者这只是历史上如何完成事情的结果?

  2. 这方面的巨大变化会破坏现有代码吗?

  3. 是否有基本类型类(特别是箭头、monad、applicative 等)的替代实现来实现“正确”的类依赖集?