小编inf*_*oop的帖子

&符号如何在c ++中起作用?

可能重复:
C++中指针变量和引用变量之间有什么区别?

这令我困惑:

class CDummy 
{
public:
   int isitme (CDummy& param);
};

int CDummy::isitme (CDummy& param)
{
  if (&param == this)
  { 
       return true; //ampersand sign on left side??
  }
  else 
  {    
       return false;
  }
}

int main () 
{
  CDummy a;
  CDummy* b = &a;

  if ( b->isitme(a) )
  {
    cout << "yes, &a is b";
  }

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

在C&中通常表示var的地址.这是什么意思?这是指针符号的奇特方式吗?

我假设它的原因是一个指针表示法,因为这毕竟是一个指针,我们正在检查两个指针​​的相等性.

我正在从cplusplus.com学习,他们有这个例子.

c++ pointers reference ampersand

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

如何解释Verilog中的阻塞与非阻塞分配?

在绘制硬件图时,我对如何解释阻塞和非阻塞分配感到有些困惑.我们是否必须推断非阻塞分配给我们一个寄存器?然后根据这个陈述c <= a+b ,c将是一个注册权,但不是a和b?

module add (input logic clock,  
output logic[7:0] f);   

logic[7:0] a, b, c;  

always_ff @(posedge clock)  
begin   
  a = b + c;   
  b = c + a;   
  c <= a + b;  
end   

assign f = c;  

endmodule
Run Code Online (Sandbox Code Playgroud)

verilog system-verilog

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

如何在vba excel中拆分包含多个分隔符的字符串?

我想使用Excel VBA拆分包含多个分隔符的字符串.其中一个字符串是:

d1-d2 d3 d4  
Run Code Online (Sandbox Code Playgroud)

我们有一个破折号和一个空格作为两个分隔符.我尝试了这个split功能,但它只用一个分隔符.

excel vba

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

为什么我不能在switch-case语句中有变量?

这是我的代码:

bool Character::keyPress(char c)
{
    switch(c)
    {
        case up_key:
            move(0, -1);
            break;

        case down_key:
            move(0, 1);
            break;

        case left_key:
            move(-1, 0);
            break;

        case right_key:
            move(1,0);
            break;

        default:
            return false;
    }

    return true;
}
Run Code Online (Sandbox Code Playgroud)

并且编译器抱怨:

error C2051: case expression not constant
error C2051: case expression not constant
error C2051: case expression not constant
error C2051: case expression not constant
Run Code Online (Sandbox Code Playgroud)

在我的头文件中,我有:

protected:
    char up_key;
    char down_key;
    char right_key;
    char left_key;
Run Code Online (Sandbox Code Playgroud)

我正在使用Visual C++ 2008.

c++ switch-statement

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

如何逐行读取gzip文件?

我有一个gzip文件,目前我这样读了:

infile = open("file.log.gz")
gz = Zlib::GzipReader.new(infile)
output = gz.read
puts result
Run Code Online (Sandbox Code Playgroud)

我认为这会将文件转换为字符串,但我想逐行阅读.

我想要完成的是该文件有一些垃圾的警告消息,我想grep这些警告消息,然后将它们写入另一个文件.但是,一些警告信息会重复出现,所以我必须确保我只对它们进行一次grep.因此逐行阅读会对我有所帮助.

ruby file-io gzip

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

如何将非静态成员函数作为回调传递?

 
io_iterator_t enumerator;
kern_return_t   result;
result = IOServiceAddMatchingNotification(
             mNotifyPort,
             kIOMatchedNotification,
             IOServiceMatching( "IOFireWireLocalNode" ),
             serviceMatchingCallback, 
             (void *)0x1234,
             & enumerator );

serviceMatchingCallback((void *)0x1234, enumerator);

如果我将serviceMatchinCallback声明为静态然后它可以工作,但我不希望它是静态的.有没有办法将它传递给非静态回调函数?

谢谢

c++ function callback member non-static

7
推荐指数
2
解决办法
7703
查看次数

我如何从QWidget和QThread继承?

我有这样的课

class GUI : public QWidget, public QThread
Run Code Online (Sandbox Code Playgroud)

当我执行上述操作时,我会收到有关连接信号的错误.The error says Reference to "connect" is ambiguous.有没有办法从两者继承?

谢谢

c++ qt qthread

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

如果我可以通过C中的指针修改它,那么const限定符的目的是什么?

可能重复:
邪恶的演员是否被邪恶的编译器打败了?

你好,

如果我可以通过指针修改常量,那么它的目的是什么?以下是代码:

#include <stdio.h>
#include <stdlib.h>

int main()
{
 const int a = 10;
 int *p = (int *)&a;

 printf("Before: %d \n", a);
 *p = 2;
 /*a = 2; gives error*/

 printf("After: %d \n", *p);

 return 0;
}
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

之前:10
之后:2
按任意键继续...

使用Visual Studio 2008.

c pointers const qualifiers

7
推荐指数
2
解决办法
731
查看次数

如何通过Unix上的命令行找到Perl模块的版本号?

可能重复:
如何找到已安装的Perl模块的版本?

我试过了perl -MMODULE -e 'print Thread::Semaphore';,但它没用!什么是正确的命令?

perl module version

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

为什么我用Perl XML :: Simple得到这个"不是数组引用"?

我输入的xml文件是:

<?xml version='1.0'?>
<warnings>
 <IDA>
  <file>filea</file>
  <path>patha</path>
 </IDA>

 <IDA>
  <file>fileaa</file>
  <path>pathaa</path>
 </IDA>

 <IDB>
  <file>fileb</file>
  <path>pathb</path>
 </IDB>

</warnings>
Run Code Online (Sandbox Code Playgroud)

我正在读这个文件:

my @IDs = ("IDA", "IDB");
my $data = $xml->XMLin("xmlfile.xml");
foreach (@IDs)
{
 foreach $id (@{$data->{$_}})
 {
   print $id->{path}."\n";
 }
}
Run Code Online (Sandbox Code Playgroud)

当我运行脚本时,它给了我这个错误:

Not an ARRAY reference at ./waiver.pl line 18.
Run Code Online (Sandbox Code Playgroud)

(第18行是第二个foreach循环)

编辑 我有重复的IDA标签.

xml perl xml-parsing

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