在c ++中指针大于零,意味着什么?

fsk*_*ing 1 c++

我在c ++中遇到了一个问题.我读了一些代码,但有一个非常有线的指针用法.代码如下:

   double* marginalProbability =
   new double [10 * sizeof(marginalProbability[0])];
   memset( marginalProbability, 0, 10 * sizeof(double) );
    //................
            //.................
   if(marginalProbability>0)
        printf("larger");
   else
        printf("smaller");
Run Code Online (Sandbox Code Playgroud)

我问的问题是它是什么意思if(marginalProbability>0).它是一个大于零的指针.我认为在普通编译器中,没有地址等于零.或者还有其他含义吗?否则,这条线似乎毫无意义.谢谢.

tro*_*foe 5

我认为这是一个错误,原作者意味着:

if(marginalProbability[0]>0)
        printf("larger");
   else
        printf("smaller");
Run Code Online (Sandbox Code Playgroud)

marginalProbability如果他们已经memset()无条件地召集它,我不明白为什么他们会测试是否有效.此外,使用更大和更小的单词表示值的比较,而不是指针.