小编Dig*_*oss的帖子

加入无序线段

我的算法生成一个(通常)数千个线段(所有2D)的列表,我需要将它们连接成大折线.这些生成的折线可能是封闭的或打开的,但它们永远不会自相交.线段不是定向的,即可能需要在线段可以连接到其邻居之前翻转线段.

找到这些折线的极快方法是什么?我必须实时做到这一点,所以任何花费超过-say- 10ms的东西都不是解决方案.

我在C#中这样做,但我正在寻找想法,而不是来源.

algorithm geometry

9
推荐指数
1
解决办法
3900
查看次数

C++对象创建和构造函数

我现在正在学习ctors并有一些问题.在这些方面:

Foo obj(args);

Foo obj2;
obj2 = Foo(args);

Foo obj3 = Foo(args);
Run Code Online (Sandbox Code Playgroud)

第一部分:只有1个构造函数被调用(Foo)并被obj初始化.所以,1个对象创建.

第二部分:创建临时对象obj2,为其调用默认ctor.下一行我们创建另一个副本Foo并将其复制到operator=().是对的吗?所以,3个本地临时对象,2个构造函数调用.

第三部分:创建1个对象Foo并将其复制到operator=().所以,2个临时对象和1个ctor调用.

我理解这个吗?如果这是真的,编译器(例如最后一个gcc)会在常见情况下优化这些吗?

c++ constructor object

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

使用来自多个进程的fseek/fwrite写入文件的不同区域?

我最近遇到了一些未经良好测试的遗留代码,用于将分布在多个进程(这些是基于MPI的并行计算的一部分)的数据写入同一文件.这确实有效吗?

它是这样的:

  • 所有进程都打开相同的文件进行写入.

  • 每个进程调用fseek以寻找文件中的不同位置.此位置可能超过文件末尾.

  • 然后,每个进程将一个数据块写入文件中fwrite.搜索位置和块大小使得这些写入完全平铺文件的一部分 - 没有间隙,没有重叠.

这有保证可行,还是有时会失败?没有锁定来序列化写入,实际上它们可能是从同步点开始的.另一方面,我们可以保证他们写入不同的文件位置,不同于其他问题,这些问题试图从多个进程写入"文件末尾".

我发现这些进程可能位于通过NFS挂载文件的不同计算机上,我怀疑它可能会回答我的问题 - 但是,如果文件是本地的,它会起作用吗?

c file-io posix process mpi

7
推荐指数
1
解决办法
1761
查看次数

WPF Popup和WindowsFormsHost问题

我在WPF弹出窗口中托管windowsforms控件.问题如下:

  1. 如果我使StaysOpen = False,我无法与winform控件进行交互.StaysOpen为false是必需的,因为当在Popup区域外点击时,它应该关闭.
  2. 如果我使StaysOpen = True我可以与winform控件进行交互但是当我在弹出区域外单击时,它不会被关闭.
  3. 我尝试在MouseEnter的弹出窗口中设置StaysOpen = true,在MouseLeave中设置StaysOpen = False,但是当鼠标悬停在winform控件上时,MouseLeave将触发,从而导致意外行为.
  4. 我甚至尝试过弹出窗口的IsMouseCaptureWithin属性,发现它不适用于winforms(我猜它是框架中的一个bug).

  5. 另一个问题,我试图关闭弹出窗口根主体窗体(这是窗口形式)被取消激活(按Alt + Tab),但这个事件(停用)即使我在弹出窗口中进入windowshostControl中的一个控件时被触发.

期望的行为:

  1. 应该能够在wpf弹出窗口中托管和交互winform控件.
  2. 点击弹出区域外,弹出窗口应该关闭.

感谢任何输入.

谢谢.

wpf popup windowsformshost

6
推荐指数
1
解决办法
3365
查看次数

聊天彗星网站使用python和扭曲

我想建立一个类似于www.omegle.com的网站.任何人都可以向我提出一些想法.我认为它是内置的扭曲轨道器彗星服务器.

python twisted orbited

5
推荐指数
1
解决办法
4053
查看次数

使用Ruby curl检索完整的请求字符串

我打算发送如下请求:

c = Curl::Easy.http_post("https://example.com", json_string   
    ) do |curl|
      curl.headers['Accept'] = 'application/json'
      curl.headers['Content-Type'] = 'application/json'
      curl.headers['Api-Version'] = '2.2'
    end
Run Code Online (Sandbox Code Playgroud)

我想记录正在进行的确切http请求.有没有办法获得所做的实际请求(基本路径,查询参数,标题和正文)?

ruby curb

5
推荐指数
1
解决办法
1534
查看次数

如何使用C弹出Linux上的CD驱动器?

当我遇到问题时,我正在阅读这篇高级Linux编程教程.我试图使用以下代码弹出CD-ROM驱动器:

int fd = open(path_to_cdrom, O_RDONLY);

// Eject the CD-ROM drive
ioctl(fd, CDROMEJECT);

close(fd);
Run Code Online (Sandbox Code Playgroud)

然后我尝试编译此代码并获得以下输出:

In file included from /usr/include/linux/cdrom.h:14,
                 from new.c:2:
/usr/include/asm/byteorder.h: In function ‘___arch__swab32’:
/usr/include/asm/byteorder.h:19: error: expected ‘)’ before ‘:’ token
/usr/include/asm/byteorder.h: In function ‘___arch__swab64’:
/usr/include/asm/byteorder.h:43: error: expected ‘)’ before ‘:’ token
Run Code Online (Sandbox Code Playgroud)

那么我做错了什么?

c linux

4
推荐指数
2
解决办法
5685
查看次数

帮助编写DOS脚本以获取最新目录的名称(创建时间)

嘿伙计们,我需要一些帮助来获取DOS脚本中最新目录的名称.

我找到了一些关于获取最新文件的信息但是我无法在目录上使用它.

例如,这是我的目录:

drwxr-xr-x 2 usrpm Domain Users 0 Jun 29 10:34 _200903_V20
drwxr-xr-x 2 usrpm Domain Users 0 Jun 29 10:35 _200904_V21
drwxr-xr-x 2 usrpm Domain Users 0 Jun 29 10:36 _200905_V22
drwxr-xr-x 2 usrpm Domain Users 0 Jun 29 10:38 _200906_V23
Run Code Online (Sandbox Code Playgroud)

我需要我的脚本来返回最新的目录(V23).然后我将cd进入该目录并从中复制一个文件.

谢谢你的帮助!

dos

4
推荐指数
1
解决办法
2万
查看次数

Objective-C和核心数据中的正则表达式

是否有在目标c中使用正则表达式的指南?特别是输入"Reg.Ex."的内容 核心数据属性中的字段?

特别是,如何将输入限制为仅设定数量/字母,以及英国邮政编码?

谢谢!

regex core-data objective-c

4
推荐指数
1
解决办法
3742
查看次数

如何根据记录计数创建返回true或false的方法

我正在尝试创建一个返回true或false的方法.

这就是我所拥有的

视图

<%= @poll.has_user_voted?(current_user) %>
Run Code Online (Sandbox Code Playgroud)

模型

  def has_user_voted?(user)
    voted = self.poll_votes.where(:user_id => user.id).length

    return !voted
  end
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么.它没有任何空白

ruby ruby-on-rails ruby-on-rails-3

4
推荐指数
1
解决办法
2001
查看次数