问题列表 - 第1035页

返回'任何类型的输入迭代器'而不是vector :: iterator或list :: iterator

假设我想在C++中实现一个数据结构来存储面向图.由于STL容器,Arcs将存储在节点中.我希望用户能够以类似STL的方式迭代节点的弧.

我遇到的问题是我不希望在Node类(实际上是一个抽象基类)中公开我将在具体类中实际使用的STL容器.因此,我不希望我的方法返回std :: list :: iterator或std :: vector :: iterator ...

我试过这个:

class Arc;

typedef std::iterator<std::random_access_iterator_tag, Arc*> ArcIterator;  // Wrong!

class Node {
public:
  ArcIterator incomingArcsBegin() const {
    return _incomingArcs.begin();
  }
private:
  std::vector<Arc*> _incomingArcs;
};
Run Code Online (Sandbox Code Playgroud)

但这不正确,因为vector :: const_iterator不能用于创建ArcIterator.那么这个ArcIterator可以是什么?

我发现这篇论文关于STL的自定义迭代器,但它没有帮助.我今天一定有点沉重......;)

c++ iterator stl

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

如何检查我的字节标志?

我用一个字节来存储一些像标志10101010,我想知道如何验证特定位为10.

c math binary bit-manipulation

23
推荐指数
2
解决办法
3万
查看次数

比较冷启动和热启动

重新启动(冷启动)后,我们的应用程序比启动一次(热启动)需要更多的时间.

大多数(如果不是全部)差异似乎来自加载DLL,当DLL在缓存的内存页面中时,加载速度要快得多.我们尝试使用ClearMem来模拟重新启动(因为它比实际重新启动耗时少得多)并得到了混合结果,在某些机器上它似乎非常一致地模拟重启,而在某些机器上则没有.

总结我的问题是:

  1. 您是否在冷启动和暖启动之间的启动时间方面存在差异?
  2. 你是如何解决这些差异的?
  3. 你知道一种可靠地模拟重启的方法吗?

编辑:

澄清意见:

  • 该应用程序主要是带有一些.NET的本机C++(第一个加载的.NET程序集支付CLR).
  • 我们正在寻求改善加载时间,显然我们分享了分析并改进了代码中的热点.

我忘了提到的一点是我们通过重新设置所有二进制文件来获得一些改进,因此加载器不必在加载时执行它.

windows performance reboot

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

为什么使用SOAP与前端(即Web浏览器)进行通信不是一个好主意?

为什么使用SOAP与前端进行通信不是一个好主意?例如,使用JavaScript的Web浏览器.

javascript soap

23
推荐指数
3
解决办法
3431
查看次数

使用FireFox,Safari和Chrome将文本复制/放入剪贴板

在Internet Explorer中,我可以使用clipboardData对象来访问剪贴板.我怎样才能在FireFox,Safari和/或Chrome中执行此操作?

javascript clipboard dom

111
推荐指数
7
解决办法
13万
查看次数

如何使用.NET升级COM组件

我发现了一篇关于如何通过调用来提升用C++编写的COM对象 的文章CoCreateInstanceAsAdmin.但是我无法找到或做的是将.NET(c#)应用程序的一个组件实现为COM对象,然后调用该对象来执行需要UAC提升的任务.MSDN将此文档记录为管理COM对象模型.

我知道以管理员身份启动应用程序(或其他应用程序)是可行且非常容易的,以便在单独的过程中执行任务(例如参见Daniel Moth帖子,但我正在寻找的是一种方式从同一个未提升的.NET可执行文件中做所有事情.当然,这样做会在新进程中生成COM对象,但是由于透明的编组,.NET COM对象的调用者不应该(也是很多)意识到这一点.

关于如何使用C#,C#项目,通过CoCreateInstanceAsAdminAPI 实现C#编写的COM对象的任何想法都会非常有用.所以我真的很想学习如何在C#中编写COM对象,然后我可以通过COM高程API从C#调用它.

不要紧,升高的COM对象是否在同一进程中运行.我只是不想要提升整个应用程序; 我想要提升将执行代码的COM对象.如果我能写出一些东西:

// in a dedicated assembly, marked with the following attributes:
[assembly: ComVisible (true)]
[assembly: Guid ("....")]

public class ElevatedClass
{
    public void X() { /* do something */ }
}
Run Code Online (Sandbox Code Playgroud)

然后让我的主应用程序ElevatedClass通过CoCreateInstanceAsAdmin调用实现.但也许我只是在做梦.

c# com uac elevation moniker

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

找出Python正则表达式中的捕获组数量

有没有办法确定给定正则表达式中有多少个捕获组?

我希望能够做到以下几点:

def groups(regexp, s):
    """ Returns the first result of re.findall, or an empty default

    >>> groups(r'(\d)(\d)(\d)', '123')
    ('1', '2', '3')
    >>> groups(r'(\d)(\d)(\d)', 'abc')
    ('', '', '')
    """
    import re
    m = re.search(regexp, s)
    if m:
        return m.groups()
    return ('',) * num_of_groups(regexp)
Run Code Online (Sandbox Code Playgroud)

这允许我做的事情:

first, last, phone = groups(r'(\w+) (\w+) ([\d\-]+)', 'John Doe 555-3456')
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何实施num_of_groups.(目前我只是解决它.)

编辑:按照rslite建议,我换成re.findallre.search.

sre_parse 看起来像是最强大和最全面的解决方案,但需要树遍历并且看起来有点沉重.

MizardX的正则表达似乎覆盖了所有基础,所以我将继续使用它.

python regex

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

.NET Framework 3.5 SP1是否需要重新启动?

我们有一台生产机器,并试图在我们的Web应用程序上慢慢引入一些3.0及更高版本的功能.3.5已安装,但我想升级到SP1,我只想知道它是否需要重新启动机器,以便我可以安排一些停机时间.

谢谢!

编辑:所以它确实需要重新启动,谢谢大家的答案...但托管公司没有给我们这样做的权利... LOL

.net-3.5

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

为什么VS2008在进入调试模式时会为每个网站/应用程序生成一个Cassini?

我在这里有很多不同的Web应用程序和站点,大约10-15个.

当我将VS2008连接到任何进程(很可能是Nunit.exe或类似的东西)时,我在解决方案中为每个网站/应用程序获得一个Cassini进程.有没有一种快速的方法来摆脱VS中的这种行为或我是否必须将它们连接到IIS?

cassini visual-studio-2008

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

评论javascript对象和方法的首选方法是什么

我习惯使用atlas,首选(据我所知)方法是使用xml注释,例如:

/// <summary>
///   Method to calculate distance between two points
/// </summary>
///
/// <param name="pointA">First point</param>
/// <param name="pointB">Second point</param>
/// 
function calculatePointDistance(pointA, pointB) { ... }
Run Code Online (Sandbox Code Playgroud)

最近我一直在寻找其他第三方JavaScript库,我看到的语法如下:

/*
 * some comment here
 * another comment here
 * ...
 */
 function blahblah() { ... }
Run Code Online (Sandbox Code Playgroud)

作为奖励,如果有任何可以读取"首选"评论风格的JavaScript API生成器,请告诉我.

javascript comments

51
推荐指数
3
解决办法
5万
查看次数