- Codice:
QNetworkAccessManagermanager = new QNetworkAccessManager(this);
Non capisco quale sia il ruolo del this. In generale cosa significa l'espressione:
- Codice:
A *a = new A(this)
Potreste chiarirmi questo dubbio per favore?
QNetworkAccessManagermanager = new QNetworkAccessManager(this);
A *a = new A(this)
#include <stdint.h>
#include <iostream>
class B;
class A final
{
public:
A( B* b )
: b( b ){};
void print( ) const;
private:
B* b;
};
class B final
{
public:
B( )
: value( 0 )
, a( nullptr ){};
~B( )
{
if ( a )
delete a;
};
A*
get_a( )
{
if ( !a )
{
a = new A( this );
}
return a;
}
void
set_value( uint32_t new_value )
{
value = new_value;
}
uint32_t
get_value( ) const
{
return value;
}
private:
uint32_t value;
A* a;
};
void
A::print( ) const
{
std::cout << ( b ? b->get_value( ) : 0 ) << std::endl;
};
int
main( )
{
B b;
const A* a = b.get_a( );
a->print( );
b.set_value( 121 );
a->print( );
}
ZfreS ha scritto:Riprendo questo thread per un altro dubbio riguardante il puntatore this suscitato leggendo del codice sulla gestione network delle qt. Il pezzo di codice è questo:
- Codice:
QNetworkAccessManagermanager = new QNetworkAccessManager(this);
Non capisco quale sia il ruolo del this. In generale cosa significa l'espressione:dove A è una classe.
- Codice:
A *a = new A(this)
Potreste chiarirmi questo dubbio per favore?
Visitano il forum: Nessuno e 1 ospite