News for hackers. Stuff that matters.
Re:C++ at Google: Here Be Dragons by lurker19 on Monday May 23, 2011 @11:37PM (#2578555)
When is assigning a pointer to be boolean false intentional and correct?
Re:C++ at Google: Here Be Dragons by chandlerc on Tuesday May 24, 2011 @02:03AM (#2578860)
Most of the cases we ran into were metaprogramming techniques which test whether an expression is a valid null pointer constants. These got innocently applied to 'false' and trigger the warning needlessly.
Re:C++ at Google: Here Be Dragons by koenigdavidmj on Tuesday May 24, 2011 @05:41PM (#2581778)
Done that before...had a variable that was formerly an int:

  int foo = 0;
But got changed into a non-integral type:

  Thing foo = 0;
Turns out Thing had a copy constructor roughly like:

  Thing::Thing(Thing* old)
      : field(old->field)
  {
  }
Needless to say, my program was not very happy.
Re:C++ at Google: Here Be Dragons by cpeterso on Tuesday May 24, 2011 @12:45AM (#2578703)
I think the -Wconversion-null warnings are the other way around:

    int i = NULL;
Because of C++'s conflation of NULL and 0 (and now C++0x's nullptr).