小编sno*_*kin的帖子

C++奇怪的钻石继承问题

我有这个

    A
  /   \
 B     C
  \   /
    D
Run Code Online (Sandbox Code Playgroud)

A具有纯虚函数,原型如下:

virtual A* clone(void) const = 0;
Run Code Online (Sandbox Code Playgroud)

B和C几乎继承自A(class B: public virtual A,class C: public virtual A)

B具有虚函数,原型为:

virtual B* clone(void) const {}; 
Run Code Online (Sandbox Code Playgroud)

C具有虚函数,原型为:

virtual C* clone(void) const {};
Run Code Online (Sandbox Code Playgroud)

D继承了B&C,如:class D: public B, public C D具有虚函数,原型为:

virtual D* clone(void) const {};
Run Code Online (Sandbox Code Playgroud)

现在,在编译时我得到以下6行错误:

error C2250: 'D' : ambiguous inheritance of 'B *A::clone(void) const'
Run Code Online (Sandbox Code Playgroud)

毫无疑问如何解决这个问题.

提前致谢.

c++ inheritance visual-c++ diamond-problem

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

获取网站所有页面的Perl模块?

那里有一个模块可以给我链接到网站的所有页面吗?

我为什么需要它:我想抓取一些网站并在其中搜索标签,仅在主页上搜索是不够的.

谢谢,

scripting perl module web-crawler

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

使用Perl访问半百万页

目前我正在使用Mechanize和get()方法来获取每个站点,并使用content()方法检查每个主页的内容.我有一个非常快的计算机+ 10Mbit连接,但仍然需要9个小时来检查11K站点,这是不可接受的,问题是,get()函数的速度,显然,需要获取页面,有什么方法可以让它更快,也许是禁用某些东西,因为我只需要检查主页面html.

谢谢,

perl web-crawler www-mechanize

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

XML :: Simple忽略emdash标签?

我正在使用XML Simple来解析XML文件,有问题的部分看起来像这样:

    <textBody>
        <title>
            <titlePart>
                <text>SECTION A <emdash/> HUMAN NECESSITIES</text>
            </titlePart>
        </title>
    </textBody>
    <ipcEntry kind="t" symbol="A01" ipcLevel="C" entryType="K" lang="EN">
        <textBody>
            <title>
                <titlePart>
                    <text>AGRICULTURE</text>
                </titlePart>
            </title>
        </textBody>
    </ipcEntry
Run Code Online (Sandbox Code Playgroud)

出于某种原因,XML :: Simple完全忽略了<text>SECTION A <emdash/> HUMAN NECESSITIES</text> 我猜它因为emdash标签,因为<text>AGRICULTURE</text>解析得很好.我还尝试通过以下方式设置解析器:

$XML::Simple::PREFERRED_PARSER = 'XML::Parser';
Run Code Online (Sandbox Code Playgroud)

仍然没有去.任何的想法?

xml perl xml-simple

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

为什么我的Perl正则表达式这么慢?

我有以下正则表达式:

my $scores_compiled_regex  = qr{^0
                                  \s+
                                  (\p{Alpha}+\d*)
                                  \s+
                                  (\d+
                                  \s*
                                   \p{Alpha}*)
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}                              
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s{2,}
                                   (\d+)?
                                   \s+
                                   \d+ #$
                                   }xos
Run Code Online (Sandbox Code Playgroud)

;

它应匹配这些行(来自普通的txt文件):

0            AAS  211    1   1       5       2   6                                                                         15
Run Code Online (Sandbox Code Playgroud)

列名是:

0 INST, NAME             A  A- …
Run Code Online (Sandbox Code Playgroud)

regex perl

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

C++ 和 GetAsyncKeyState() 函数

因为它只给出大写字母,所以知道如何获得小写字母吗?如果用户同时按下 SHIFT+K 或 CAPSLOCK 等,我想得到小写..是否有可能以这种方式或其他方式?

谢谢,

c++ winapi key

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

XSLT - 将XML转换为不同的XML

我需要创建一个XSL文件,以便我将它用于将一个XML转换为另一个XML.问题是,我真的不知道XPath和XSLT.所以我的问题是,是否有一些工具可以帮助我,或者我需要坐下来开始阅读XPath和XSLT?

谢谢,

xml xslt

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

XSLT获得了一些不需要的价值

XML:

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE UploadXML SYSTEM "ex_v222.dtd">
    <UploadXML><Version>1.1</Version>
<Properties>
<Property>
<IntegratorID>3232321</IntegratorID>
<IntegratorPropertyID>12312312-3</IntegratorPropertyID>
<IntegratorOfficeID>1231231231</IntegratorOfficeID>....
Run Code Online (Sandbox Code Playgroud)

由于某种原因,以下XSL文件始终获取1.1值并将其放在信封元素之前:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:param name="Z">2312</xsl:param>
    <xsl:param name="A">KKK</xsl:param>
    <xsl:output method="xml" encoding="utf-8" indent="yes" />
        <xsl:strip-space elements="*" />

        <xsl:template match='/UploadXML/Properties'> 
        <Envelope>
        <Body>
        <add_adverts>
        <xsl:apply-templates select='Property'/>
        </add_adverts>
        </Body>
        </Envelope>
        </xsl:template>
Run Code Online (Sandbox Code Playgroud)

....(我相信模板实现并不重要..)

我得到的是:

<?xml version="1.0" encoding="utf-8"?>
1.1<Envelope xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <Body>
    <add_adverts>
      <advert>
Run Code Online (Sandbox Code Playgroud)

...

看那1.1?为什么?任何的想法?

xml xslt

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

QtCreator和信号和插槽

在QtCreator 更改信号/插槽上下文菜单中,我既不能插入信号也不能插入具有参数化参数的插槽,例如:QList <QString>等,甚至只能引用常规类型(int,QSring等)

为什么?

c++ qt qt4 qt-creator

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

存储时间序列数据,无需数据库

我想存储时间序列数据,例如超过6个月的CPU使用率(将每2分钟轮询CPU使用率,所以稍后我可以得到几个分辨率,例如 - 1周,1个月,甚至更高的分辨率,5分钟,等等).

我正在使用Perl,我不想使用RRDtool或关系数据库,我正在考虑使用某种具有以下属性的循环缓冲区(环形缓冲区)来实现自己的:

  1. 6个月= 186天= 4,464小时= 267,840分钟.
  2. 将其分为2分钟:267,840/2 = 133,920.
  3. 133,920是环形缓冲区大小.
  4. ring-buffer中的每个元素都是一个hashref,其中key作为epoch(很容易转换为使用的日期时间localtime),值是该给定时间的CPU使用率.
  5. 我将序列化此环缓冲区(使用Storable我猜)

还有其他建议吗?谢谢,

perl datetime time-series

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