Re: C++ Headers
От | Bruce Momjian |
---|---|
Тема | Re: C++ Headers |
Дата | |
Msg-id | 200105222152.f4MLqKW19017@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: C++ Headers (ncm@zembu.com (Nathan Myers)) |
Ответы |
Re: C++ Headers
|
Список | pgsql-hackers |
> On Tue, May 22, 2001 at 12:19:41AM -0400, Bruce Momjian wrote: > > > This in fact has happened within ECPG. But since sizeof(bool) is passed to > > > libecpg it was possible to figure out which 'bool' is requested. > > > > > > Another issue of C++ compatibility would be cleaning up the usage of > > > 'const' declarations. C++ is really strict about 'const'ness. But I don't > > > know whether postgres' internal headers would need such a cleanup. (I > > > suspect that in ecpg there is an oddity left with respect to host variable > > > declaration. I'll check that later) > > > > We have added more const-ness to libpq++ for 7.2. > > Breaking link compatibility without bumping the major version number > on the library seems to me serious no-no. > > To const-ify member functions without breaking link compatibility, > you have to add another, overloaded member that is const, and turn > the non-const function into a wrapper. For example: > > void Foo::bar() { ... } // existing interface > > becomes > > void Foo::bar() { ((const Foo*)this)->bar(); } > void Foo::bar() const { ... } Thanks. That was my problem, not knowing when I break link compatiblity in C++. Major updated. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
В списке pgsql-hackers по дате отправления: