小编Der*_*urk的帖子

#include <initializer_list>需要在基于范围的情况下使用初始化列表吗?

最终的C++ 11标准包括基于范围的规定,以便为原生数组"正常工作",而不必包含<iterator>任何其他标题.据我所知,由于英国78和79的评论,在工作文件n2900中首先解决了这个问题.

该提案还包括隐含#include <initializer_list>在每个翻译单元中的条款,以便例如该程序

#include <iostream>

int main()
{
    for (auto i : { 1, 2, 3, 4, 5 })
        std::cout << i << "\n";
}
Run Code Online (Sandbox Code Playgroud)

即使没有包括,也会符合标准<initializer_list>.

但是,当从C++ 11中删除概念时,基于范围的修订版被修改为如n2930所示.虽然数组"正常工作"的规定仍然存在,但没有提到初始化列表也是如此; 事实上,各种标准库容器标题的规范#include <initializer_list>和8.5.4.2的最终文本意味着与我相反.

据我所知,这与该主题的最终措辞非常接近.那么,关于最终标准的程序是否完善,或者我是否需要#include <initializer_list>在基于范围的基础上使用它?换句话说,在基于范围的情况下使用初始化列表是否构成了" std::initializer_list根据FDIS的8.5.4.2 使用---甚至是未命名类型的隐式用法"?

c++ initializer-list c++11

11
推荐指数
1
解决办法
2835
查看次数

R socketConnection/make.socket():任何保持listen()的方法吗?

[免责声明:我对套接字的了解非常生疏,我刚刚进入R,所以如果我错过了一些完全明显的东西,请指出它!]

如果我没有理解用于创建和管理插座,即(稀疏文件)R的功能socketConnectionmake.socket,看来,创建一个服务器套接字(时server=TRUE),以下的道德相当于进行:

s = socket(yada yada);
listen(s, ...);
s2 = accept(s, ...);
close(s, ...);
Run Code Online (Sandbox Code Playgroud)

现在我可以使用s2但无法循环处理积压的传入连接s.这或多或少是正确的吗?在处理第一个连接后,有没有办法继续监听并继续处理其他传入连接?

sockets r

10
推荐指数
1
解决办法
2613
查看次数

单身单身人士(在Haskell中模拟复杂的pi类型)

我在Idris中有一个简单的概念证明,它使用依赖类型来强制执行一些不太复杂的业务逻辑.一些名字已被改变以保护不那么无辜,但我们的想法是我们想要按顺序收集"线".每一行都属于特定部分,但只有一个(EconProduction)有我们关心的任何内容.通常,行具有特定于节的关键字和表达式,其表单/类型可能取决于所使用的关键字.

对于此特定部分,每行描述"阶段"(Prod)的某些数字,或者继续最后命名的"阶段"(Continue).

在Idris,我们可以这样做:

data EconSection
  = EconGeneral
  | EconProduction

data EconPhase
  = Oil
  | Water
  | NumPhase Nat

data ContState
  = ContNone
  | ContProd EconPhase

data Keyword : EconSection -> ContState -> ContState -> Type where
  Prod : (p : EconPhase) -> Keyword EconProduction c (ContProd p)
  Continue : Keyword s c c

data Expression : (s : EconSection) ->
                  (d : ContState) ->
                  Keyword s c d ->
                  Type where
  ExProc : Double …
Run Code Online (Sandbox Code Playgroud)

haskell types ghc dependent-type idris

8
推荐指数
1
解决办法
155
查看次数

标签 统计

c++ ×1

c++11 ×1

dependent-type ×1

ghc ×1

haskell ×1

idris ×1

initializer-list ×1

r ×1

sockets ×1

types ×1