Questions tagged «standard-library»

5
为什么所有<algorithm>函数仅采用范围,而不采用容器?
中有许多有用的功能&lt;algorithm&gt;,但所有功能都对“序列”(一对迭代器)起作用。例如,如果我有一个容器并且喜欢std::accumulate在其上运行,则需要编写: std::vector&lt;int&gt; myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); 我打算做的是: int sum = std::accumulate(myContainer, 0); 在我看来,这更具可读性和清晰度。 现在我可以看到,在某些情况下,您可能只希望对容器的某些部分进行操作,因此选择传递范围绝对对您有用。但是至少以我的经验来看,这是一种罕见的特殊情况。我通常要对整个容器进行操作。 可以很容易地编写一个包装函数,它接受一个容器,并呼吁begin()和end()就可以了,但是这样的便利功能,不包含在标准库。 我想知道这种STL设计选择背后的原因。


3
为什么没有函数的类型类?
在一个我一直在纠缠的学习问题中,我意识到我需要一个具有用于应用,编写等操作的函数的类型类。原因... 将函数的表示形式视为函数本身就是方便的,因此隐式应用函数将使用解释器,而组成函数会得出新的描述。 一旦有了函数的类型类,就可以为特殊类型的函数派生类型类-就我而言,我想要可逆函数。 例如,应用整数偏移量的函数可以由包含整数的ADT表示。应用这些功能仅意味着将整数相加。通过添加包装的整数来实现合成。逆函数的整数取反。身份函数包装零。无法提供常量函数,因为没有合适的表示形式。 当然,它不需要像值是真正的Haskell函数那样拼写事物,但是一旦我有了主意,我认为这样的库必须已经存在,甚至可以使用标准拼写。但是我在Haskell库中找不到这样的类型类。 我找到了Data.Function模块,但是没有类型类-只有一些常见的函数也可以从Prelude中获得。 那么-为什么没有函数的类型类?是“仅仅是因为没有”还是“因为它没有您想象的那么有用”?还是这个想法存在根本性的问题? 到目前为止,我想到的最大可能的问题是,实际功能上的功能应用程序可能必须由编译器进行特殊处理,以避免出现循环问题-为了应用此功能,我需要应用功能应用程序功能,为此,我需要调用函数应用程序函数,然后执行此操作... 更多线索 示例代码显示我的目标... {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GADTs #-} -- In my first version, Doable only had the one argument f. This version -- seemed to be needed to support the UndoableOffset type. -- -- It seems …

4
制作跨平台库应使用哪种语言?[关闭]
想要改善这篇文章吗?提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我想构建一个SyncML解析库(无UI),该库应该能够基于主机应用程序提供的信息(由库的方法提供)构建消息。同样,该库应该能够对宿主应用程序中的方法进行回调。 我希望能够对此进行编译,并使其在尽可能多的平台上可用:Windows,Windows Phone 7 OS,OSX,iOS,Linux,Android,BlackBerry。基本上是尽可能多的平台。 优先考虑的是使它在移动设备上可用。 问题: 我应该使用什么设置?(编程语言,编译器,IDE等) 如何为这些不同的平台编译该库,以及如何连接到该库? 还有其他信息吗?例如,涉及跨平台开发主题的文章? 我之前没有做过这样的跨平台项目,因此欢迎向我提供正确方向的任何可用信息。 我本人在C#/。NET和Objective-C方面都有背景。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.