问题列表 - 第33862页

是否有特定原因在C++中不允许嵌套的命名空间声明?

该标准不允许这样的代码:

namespace Hello::World {

//Things that are in namespace Hello::World

}
Run Code Online (Sandbox Code Playgroud)

而是要求

namespace Hello { namespace World {

//Things that are in namespace Hello::World

}}
Run Code Online (Sandbox Code Playgroud)

理由是什么?这当时根本没有想到,还是有一个特定的原因不包括在内?

似乎第一个语法更直接地表达了应该在哪个命名空间中,因为声明模仿了以后代码中命名空间的实际使用.如果你不幸使用"哑"括号计算缩进工具,它也会减少缩进.

c++ namespaces language-design rationale

25
推荐指数
3
解决办法
5596
查看次数

C++代码设计中的多代理系统

我有一个用C++编写的模拟,我需要维护可变数量的代理,而我在确定如何很好地实现它时遇到了麻烦.每个代理看起来类似于:

class Agent{
public:
    Vector2f pos;
    float health;
    float data[DATASIZE];
    vector<Rule> rules;
}
Run Code Online (Sandbox Code Playgroud)

我需要在模拟中维护可变数量的代理,以便:

  1. 优选地,药剂的数量没有上限
  2. 我可以轻松添加代理
  3. 我可以在某些条件下轻松删除任何代理(比如健康<0)
  4. 我可以轻松地迭代所有代理并做一些事情(比如健康 - )
  5. 优选地,我可以使用openMP并行化工作,因为许多更新有些昂贵,但完全独立于其他代理.
  6. (编辑)代理的顺序根本不重要

我应该为代理商使用什么样的容器或设计原则?直到现在我才使用矢量,但我认为很难从这个结构中抹去:我需要经常做的事情,因为事情总是在死.我应该看看有什么选择吗?我想过像List这样的东西,但我不认为它们可以并行化,因为它们是作为带有迭代器对象的链表实现的?

谢谢

c++ containers design-patterns multi-agent openmp

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

在Perl中,"我的"比"本地"更快?

引自PerlMonks:我和本地的区别,

但在现实生活中,它们的工作方式几乎相同?是.有点.那么什么时候应该使用它们?

尽可能使用我(它比本地更快)......

我知道mySO之间的词法与动态范围的区别local,正如在这个SO线程中讨论的那样,但我不确定为什么my"更快".

当我们说my变量比localPerl 中的变量更快时,我们究竟是什么意思?

perl

12
推荐指数
2
解决办法
601
查看次数

我的JComponent的内容仅在手动调整大小后刷新

我试图弄清楚当我手动拖动窗口时我的JComponent刷新的原因,但是当我调用repaint或revalidate时它不会刷新.数据已准备好显示,但只有在我手动调整大小后才会显示.任何人都能提出一些关于我能做什么的建议,或者这听起来好像不是Swing问题,因为我尝试重新绘制并重新验证?

我注意到的一件奇怪的事情是,如果我有这个代码:

sp.setSize(sp.getSize().width, sp.getSize().height+1);
sp.setSize(sp.getSize().width, sp.getSize().height-1);
Run Code Online (Sandbox Code Playgroud)

如果使用第一行,则JComponent将刷新自身.如果我不使用这两行或两者都不会,这对我来说似乎很奇怪.

我基本上只是将JPanel放在JDesktopPane中的JInternalFrame中.我正在尝试做的事情有两个主要功能.一个添加新的JPanel,另一个尝试刷新它,以便新数据显示:

public void addNewSP()
 {
sp = new JInternalFrame("SP");
  sp.setClosable(true);
  sp.setLocation(700, 400); //this should be changed to something based on screen size
  sp.setResizable(true);
  sp.add(popUp);
  this.parentContainer.add(sp, JLayeredPane.DRAG_LAYER);
  sp.pack();
  sp.show();
  sp.setSize(500, 500);
  sp.setPreferredSize(new Dimension(500, 500));
}

public void refreshSP()
 {

  sp.repaint();
  sp.validate();
  sp.repaint();

  sp.validate();
  parentContainer.validate();
  parentContainer.repaint();

  sp.setSize(sp.getSize().width, sp.getSize().height+1);
  sp.setSize(sp.getSize().width, sp.getSize().height-1);
  }
 }
Run Code Online (Sandbox Code Playgroud)

BTW parentContainer是JDesktopPane

java swing resize refresh jcomponent

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

使用git时Mac/Windows的文件权限问题

我运行以下代码从Windows git存储库中提取文件.

git pull /Volumes/sucho/Desktop/git/setup
Run Code Online (Sandbox Code Playgroud)

我按如下方式连接Windows目录.

tell application "Finder"
    mount volume "cifs://WINDOWS/c$/Users/sucho" as user name "USR" with password "PW"
end tell
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但问题是从Windows中提取的文件有700(rwx ------).如何设置644(rw-r -r--)为默认值?

windows git macos file-permissions

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

有没有办法直接查询文件系统设备驱动程序列出目录中的文件?

我目前正在使用FindFirstFile,FindNextFile API来递归遍历目录,以便根据给定的条件搜索文件.我注意到"dir/s"命令比我的程序提供更好的性能.我试着检查进程监视器中的事件,看起来像cmd.exe/dir命令直接查询磁盘设备驱动程序.有什么方法可以实现与DeviceIOControl()相似的东西吗?虽然不是编程新手,但我对设备驱动程序非常陌生.附加procmon输出以供参考:

替代文字

问候,

windows filesystems winapi drivers device-driver

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

如何从元素中找到父表单?

我试图使用以下代码从元素中找到父表单:

<form id="f1" action="action1.html">
form1 <button id="btn1" onclick="testaction(this); return false;" >test form 1</button>
</form>


<script type="text/javascript" >
function testaction(element) {
    var e = $(element.id);
    var form = e.parent('form');

    alert(form.id); // undefined!!
    alert(form.action); // undefined!!
    alert(document.forms[0].action); //http://localhost/action1.html
}
</script>
Run Code Online (Sandbox Code Playgroud)

它应该是非常简单的事情....提前谢谢

jquery

21
推荐指数
4
解决办法
6万
查看次数

所以我想创建一个基于浏览器的地球互动实时动画以及绕太阳转的其他行星...我从哪里开始?

我想创建一个基于浏览器的,交互式的实时动画,根据一天中的时间和一年中的时间显示地球绕太阳转.此动画还应(最终)显示太阳系中的其他行星,用户应能够在太阳系周围平移并从不同侧面看到它(通过点击拖动,滚动等).

我不认为它有任何实际应用,但我喜欢在宇宙中发现的艺术价值......所以开始这样做会很有趣,我可能会在做这件事时学到一些东西.

我没有任何关于行星物理学的经验,虽然如果给出一个很好的信息来源,我可能会理解它.我确实有一些Web开发经验,使用JavaScript,HTML,CSS,Python等语言.

现在,问题:

  • 最重要的是,我将如何开始这样的项目?

  • 我在哪里可以获得有关太阳系中地球和其他行星旋转的信息?

  • 我应该使用/学习哪些语言?

  • 您对这个想法有什么其他想法?您认为对于像这样的项目有什么功能?

这个想法是非常冲动的,特别是在一天的这个晚些时候......当我看着窗外,看到建筑物变得越来越黑,我也在想象地球是如何慢慢旋转的.在太阳周围也是如此,我认为能够从外部看到这一点是一个非常好的景象.

希望得到一些反馈.干杯!

html javascript opengl

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

防止在__init__之外创建新属性

我希望能够创建一个类(在Python中),一旦初始化__init__,不接受新属性,但接受现有属性的修改.我可以看到有几种黑客方法可以做到这一点,例如有一个__setattr__方法,比如

def __setattr__(self, attribute, value):
    if not attribute in self.__dict__:
        print "Cannot set %s" % attribute
    else:
        self.__dict__[attribute] = value
Run Code Online (Sandbox Code Playgroud)

然后__dict__直接在里面编辑__init__,但我想知道是否有"正确"的方法来做到这一点?

python oop class python-datamodel python-3.x

66
推荐指数
6
解决办法
2万
查看次数

HTML抓取和CSS查询

以下图书馆有哪些优点和缺点?

从上面我已经使用了QP并且它无法解析无效的HTML和simpleDomParser,它做得很好,但是由于对象模型它有点泄漏内存.但是$object->clear(); unset($object);当你不再需要一个物体时,你可以通过调用来控制它.

还有刮刀吗?你对他们有什么经历?我将把它变成一个社区维基,我们可以建立一个有用的库列表,在抓取时可能很有用.


我根据拜伦的答案做了一些测试:

    <?
    include("lib/simplehtmldom/simple_html_dom.php");
    include("lib/phpQuery/phpQuery/phpQuery.php");


    echo "<pre>";

    $html = file_get_contents("http://stackoverflow.com/search?q=favorite+programmer+cartoon");
    $data['pq'] = $data['dom'] = $data['simple_dom'] = array();

    $timer_start = microtime(true);

    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    $x = new DOMXPath($dom);

    foreach($x->query("//a") as $node)
    {
         $data['dom'][] = $node->getAttribute("href");
    }

    foreach($x->query("//img") as $node)
    {
         $data['dom'][] = $node->getAttribute("src");
    }

    foreach($x->query("//input") as $node)
    {
         $data['dom'][] = $node->getAttribute("name");
    }

    $dom_time =  microtime(true) - $timer_start;
    echo "dom: \t\t $dom_time . Got ".count($data['dom'])." items \n";






    $timer_start = microtime(true);
    $doc …
Run Code Online (Sandbox Code Playgroud)

html php web-scraping

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