[Development] #pragma once

Mitch Curtis mitch.curtis at qt.io
Wed Jan 24 13:19:41 CET 2018



> -----Original Message-----
> From: Ville Voutilainen [mailto:ville.voutilainen at gmail.com]
> Sent: Wednesday, 24 January 2018 1:11 PM
> To: Mitch Curtis <mitch.curtis at qt.io>
> Cc: Alexander Nassian <nassian at bitshift-dynamics.com>; development at qt-
> project.org
> Subject: Re: [Development] #pragma once
> 
> On 24 January 2018 at 12:34, Mitch Curtis <mitch.curtis at qt.io> wrote:
> >
> >
> >> -----Original Message-----
> >> From: Ville Voutilainen [mailto:ville.voutilainen at gmail.com]
> >> Sent: Wednesday, 24 January 2018 11:25 AM
> >> To: Alexander Nassian <nassian at bitshift-dynamics.com>
> >> Cc: Mitch Curtis <mitch.curtis at qt.io>; development at qt-project.org
> >> Subject: Re: [Development] #pragma once
> >>
> >> On 24 January 2018 at 12:22, Alexander Nassian <nassian at bitshift-
> >> dynamics.com> wrote:
> >> > Maybe because it’s not part of the C++ standard?
> >>
> >> #pragma once is not a replacement for include guards.
> >
> > Why not?
> >
> >> It's not part of the C++ standard because it doesn't always work
> >
> > In which ways? My quick search gave me these:
> >
> > https://stackoverflow.com/a/1946730/904422
> > https://en.wikipedia.org/wiki/Pragma_once#Caveats
> 
> That wikipedia link seems to describe the problems fairly accurately.

Do we have that issue in Qt?

> >> and modules are a superior solution anyway.
> > How so?
> 
> Because you can import the same module multiple times without concerns
> about re-definitions, and that import is much faster than parsing a header
> file.


More information about the Development mailing list