/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
c++ syntaks
Fra : kim


Dato : 03-04-03 16:07

Da jeg skal bruge noget postgresql i c++ har jeg fundet et lib som jeg
vil benytte mig af. (pqxx)
Der er nogle ting i sourcekoden som jeg undre mig over hvad betyder. Det
er mest syntaksen og ikke så meget den specifikke kontekst jeg er
interesseret i her.
(taget fra Result.h..)
********************************************************************
/// Query or command result set.
/** This behaves as a container (as defined by the C++ standard library) and
* provides random access const iterators to iterate over its tuples. A tuple
* can also be accessed by indexing a Result R by the tuple's zero-based
* number:
*
*   for (Result::size_type i=0; i < R.size(); ++i) Process(R[i]);
*/
class PQXX_LIBEXPORT Result
{
public:
Result() : m_Result(0), m_Refcount(0) {}            //[t3]
Result(const Result &rhs) :                   //[t1]
    m_Result(0), m_Refcount(0) { MakeRef(rhs); }
~Result() { LoseRef(); }                  //[t1]

Result &operator=(const Result &);               //[t10]
*******************************************************************


Hvad betydning har PQXX_LIBEXPORT i: class PQXX_LIBEXPORT Result ?

Result er defineret som Result() : m_Result(0), m_Refcount(0){} - hvad
betyder funktionskaldene m_Result(0) og m_Refcount(0)?

Og hvad betyder: Result &operator=(const Result &);
Er det en Result variable som bliver initialiseret til en cast af en
Result & ??

Mvh
Kim

 
 
Robert Larsen (03-04-2003)
Kommentar
Fra : Robert Larsen


Dato : 03-04-03 16:18

kim wrote:
> Da jeg skal bruge noget postgresql i c++ har jeg fundet et lib som jeg
> vil benytte mig af. (pqxx)
> Der er nogle ting i sourcekoden som jeg undre mig over hvad betyder. Det
> er mest syntaksen og ikke så meget den specifikke kontekst jeg er
> interesseret i her.
> (taget fra Result.h..)
> ********************************************************************
> /// Query or command result set.
> /** This behaves as a container (as defined by the C++ standard library) and
> * provides random access const iterators to iterate over its tuples. A tuple
> * can also be accessed by indexing a Result R by the tuple's zero-based
> * number:
> *
> *   for (Result::size_type i=0; i < R.size(); ++i) Process(R[i]);
> */
> class PQXX_LIBEXPORT Result
> {
> public:
> Result() : m_Result(0), m_Refcount(0) {}            //[t3]
> Result(const Result &rhs) :                   //[t1]
>     m_Result(0), m_Refcount(0) { MakeRef(rhs); }
> ~Result() { LoseRef(); }                  //[t1]
>
> Result &operator=(const Result &);               //[t10]
> *******************************************************************
>
>
> Hvad betydning har PQXX_LIBEXPORT i: class PQXX_LIBEXPORT Result ?
>
> Result er defineret som Result() : m_Result(0), m_Refcount(0){} - hvad
> betyder funktionskaldene m_Result(0) og m_Refcount(0)?
>
> Og hvad betyder: Result &operator=(const Result &);
> Er det en Result variable som bliver initialiseret til en cast af en
> Result & ??
>
> Mvh
> Kim
PQXX_LIBEXPORT er en define (defineret i config.h) som ekspanderer til
'__declspec(dllexport)' på Windows og sikkert til ingenting på andre
platforme. Det er et signal til lænkeren som betyder at klassen skal
eksporteres fra en DLL.

Result() : m_Result(0), m_Refcount(0) {} er en implementering af
constructoren og m_Result(0) og m_Refcount(0) er en initialiseringsliste
som initialiserer de to member variable m_Result og m_Refcount til 0.

Result &operator=(const Result &) er en operator overstyring som gør, at
du kan assigne et Result objekt fra et andet:

Result r1 = someFunctionThatReturnsAResult();
Result r2 = r1; //Her udføres funktionen 'Result &operator=(const Result &)'


VH

Robert


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408193
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste