问题标签 [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.
c++ - 是否有替代方法来抑制 xtree 中无法访问代码的警告?
将 std::map 与使用普通、非抛出、复制构造函数的类型一起使用时,会针对 xtree 中无法访问的代码抛出编译器警告/错误(警告级别 4,发布模式)。这是因为 std::map 中有一个 try-catch,它有助于在发生异常时维护树的状态,但编译器发现如果存储的元素不调用 catch 语句,将永远不会被调用扔。可以使用 .cpp 文件顶部的以下行轻松抑制这些警告:
有没有办法绕过这个警告/错误而不改变警告级别、构建调试、抑制警告或在地图中使用不同的类型?有计划在标准库中改变这个吗?
更新:
也许它是特定于编译器的。我正在使用vc7。错误如下:
c:\program files\microsoft visual studio .net 2003\vc7\include\xtree(1116) : 错误 C2220: 警告被视为错误 - 没有生成“对象”文件
c:\program files\microsoft visual studio .net 2003\vc7 \include\xtree(1116) : 警告 C4702: 无法访问的代码
显然,xtree 被 std::map 使用。
c - 让 Xcode 告诉编译器不要链接到任何库,包括标准库?
如何让 Xcode 告诉编译器不要链接?
我正在制作一个可能不会链接到任何东西的库。我在哪里可以在目标的属性中设置它不能链接到标准库,我可以选择static
或者dynamic
只有,没有not
选项。
c++ - 为什么pair、make_pair和rel_ops都在同一个包含文件中?
我知道标准库有它的缺点(给我找一种标准库没有的语言),但我一直想知道为什么他们觉得有必要将两段看似无关的代码塞进一个名为“实用程序”的包含中。这曾经是有原因的吗?这个库是否曾经包含更多被认为有用的东西,或者变得如此充实以保证它们自己的头文件?
基本上我想弄清楚的是pair、make_pair和rel_ops有什么共同点?
c++ - 需要的c++标准库中的所有函数都有外部链接吗?
所以我有一个可以在 windows、linux 和一些 unix 变体上编译的应用程序。当我遇到障碍时,我最近决定将它移植到 OSX。
我有一个看起来像这样的模板:
这个想法是防止符号扩展在给定上述输入值时使某些实现崩溃0x7f
。它通常这样使用:
不幸的是,这在 OSX 上不起作用(使用 gcc 4.2)。该错误与std::isspace
没有外部链接有关,因此不适用于模板。事实证明,在 OSX 上,ctype.h
标头具有标记的所有功能(通过宏)static inline
。
这是我的问题:
任何相关标准是否允许 C++ 中的函数(在这种情况下是从 C 继承的部分)标准库中没有外部链接?
编辑:
我收到了苹果的回复。显然他们有一个宏来控制这种行为。定义_DONT_USE_CTYPE_INLINE_
防止 ctype 函数是静态内联的。
c++ - std::tuple_element 可以兼作通用模板参数检索器吗?
这个问题让我思考。有时,如果无法定义参数的公共typedef
,从类模板特化中获取实际参数很有用。在 C++03 中,这是模板设计不佳或设计意图相反的标志,并不特别常见。但是可变参数模板使 typedef 覆盖变得不可能,所以如果有一个工具来解决这个问题而不需要额外的工作,那就太好了。
C++0x 解决了typedef
一个特定可变参数模板的问题,tuple
.
但未tuple_element
结婚tuple
;它也适用于pair
and array
。它的声明没有提到tuple
.
tuple
通过部分专业化相关:
但它不需要。模板模板参数可以匹配tuple
,以及仅在类型上参数化的任何其他模板。
这将允许
并允许额外的专业化array
不可能发生冲突,因为array
' 的第二个参数是 a size_t
,而不是类型。
不幸的是,允许用户tuple_element
为他们自己的类型专门化接口。用户的先决条件及其保证由 C++0x §17.6.3.2.1/1 给出:
只有当声明依赖于用户定义的类型并且特化满足原始模板的标准库要求并且没有明确禁止时,程序才能将任何标准库模板的模板特化添加到命名空间 std。
因此,一般特化不仅不能与特化冲突array
,而且不能与任何命名用户定义类型的特化冲突。也就是说,如果用户声明了一个特化,通用参数 getter 的存在不会影响它是否被选择。
当实例化中出现歧义时(即,两个部分特化匹配一个参数列表),比较备选方案以确定哪个最特化,换句话说,最不通用。调用备选方案 A 和 B。这意味着,如果 A 可以完成 B 的工作,但 B 不能完成 A 的工作,则 B 更专业。A是通才。将选择 B。不考虑引发实例化的实际参数,因为已知它们与两个候选者都匹配。
由于我们希望通用模板遵循其他所有内容,因此我们处于良好状态。
通过用唯一的虚拟类型替换 A 中的部分特化参数来检查通用性,并检查 B 是否也可以实现这样的特化。以相反的角色重复,如果获得相反的结果,则已知一名候选人更专业。
用户特化中用户定义类型的存在保证了它的优先级,因为在参数-getter 中必须有一个与之不匹配的唯一虚拟类型。
例如,这是一个非常通用的用户声明的专业化。它tuple_element
为包含给定的任何类型参数化模板定义user_type
。
序列..., user_type, ...
可以由一般情况处理,但用户的情况不能处理完全由人工唯一类型组成的序列,因为它不会包含user_type
.
如果任何用户专业化是候选者,它将是更优秀的。
(该标准确实在伪代码中为 指定了一个单独的部分tuple
特化,但在 as-if 规则下可以省略它。无论如何,如果实施,它将被相同的优先规则覆盖,以保护用户。)
我没有对部分排序规则进行很多尝试。这个分析正确吗?实现是否可以通过 公开通用模板索引器std::tuple_element
?
java - 将 Java PriorityQueue 更改为 Max PQ
Java 标准库中的优先级队列实现似乎是一个最小优先级队列,我发现它有点令人困惑。为了把它变成一个最大值,我创建了一个自定义比较器对象。
我想知道是否有更优雅的解决方案。本质上,我不想使用通用优先级队列来实现 Dijkstras 等。我什至没有意识到会有反向操作的优先级队列:/
c++ - 为什么我的 std::string 被切断了?
我初始化一个字符串如下:
并且 myString 最终像这样被切断:
'The quick brown fox jumps over the lazy dog' 是一个英语 pangram(一个短语包含
我在哪里可以设置大小限制?我尝试了以下但没有成功:
非常感谢!
python - Python标准库真的是标准的吗?
Python 标准库是否是标准的,如果安装了 Python,那么标准库也安装了?
该文档读取
对于类 Unix 操作系统,Python 通常作为包的集合提供,因此可能需要使用操作系统提供的打包工具来获取部分或全部可选组件。
据我所知,标准库索引仅将“可选操作系统服务”列为可选。
那么,如果安装了 Python,平台上是否总是可以使用其他所有东西?如果没有,在最常见的(Windows、Mac OS X、Linux)上可以期待什么?
PS:我正在给研究生上 Python 课,我很想能够告诉他们 Python 总是自带电池;这对他们来说具有实际意义(当他们到达新实验室或使用新机器时,了解标准模块可用性方面的期望对他们很有用)。
python - 如何在 Python 中按名称引用整数
我想有一个引用,读作“名称'x'指向的任何变量”与整数,以便它的行为如下:
我知道我可以通过以下方式对列表做类似的事情:
但是如果将a或b分配给某物而不是它们的元素,这很容易丢失。
有没有一种简单的方法可以做到这一点?
python - 使用标准库进行 Python Web 编程
我想编写一个简单的 python web 应用程序来为命令行程序提供一个 gui(hg serve
例如,想想)。它只会在本地运行。我不希望它有任何外部依赖项以便于部署,因此python web 编程一般不适用于这里
如何以最少的麻烦完成?任何指针如何使用cgi
or 或wsgi
orstring.Template
轻松完成string.Formatter
?我更喜欢 Python 2.6 解决方案,但即使是 Python 3.x 也可以。我也更喜欢使用一些 html 模板来手动将 html 组合在一起。
更新:理想的解决方案将包括方法
- 处理表格
- 上传/下载文件
- 输出html
- 启动网络服务器