Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

11

21.06.2013, 21:26

Nun bin ich um die Eignung verunsichert.
Nehmen wir an ich habe eine private sf::RenderTexture, die bspw auch als Rückgabewert dienen soll, welcher dann zum Rendering im Fenster benutzt werden soll.
Ist da ein unique_ptr überhaupt 'sinnvoll' wenn nicht gar eher schädlich? "After this operation the elements in the moved-from range will still contain valid values of the appropriate type, but not necessarily the same values as before the move."
Zumindest habe ich momentan kein Output. xD
Soweit ich das verstanden habe, sind RawPointer hier angesagt :huh:

MfG
Check

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

12

21.06.2013, 21:48

Soll der Besitz der Texture an das Fenster übertragen werden, oder soll das Fenster die Textur lediglich benutzen? In ersterem Fall Smartpointer, ansonsten nicht...

13

21.06.2013, 21:58

Gut eine Bestätigung zu haben, die einem zeigt, dass mans doch verstanden hat! :)
Nur benutzen.

MfG
Check

H5::

Treue Seele

Beiträge: 368

Wohnort: Kiel

  • Private Nachricht senden

14

21.06.2013, 22:09

C-/C++-Quelltext

1
2
3
4
5
6
7
8
std::unique_ptr<AClass> doSomething()
{
  std::unique_ptr<AClass> ptr(new AClass(...));
  ...
  /* do something nice with ptr */
  ...
  return std::move(ptr);
}
Man könnte hier das std::move sogar weglassen.

Edit:
Solltest du einen SmartPointer herumreichen wollen, wäre eventuell auch für dich der std::weak_ptr interessant im Zusammenhang mit einem std::shared_ptr.
:love: := Go;

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »H5::« (21.06.2013, 22:18)


patrick246

Treue Seele

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

15

21.06.2013, 22:33

Wenn der Smartpointer nicht seinen Besitzer wechseln soll, einfach die get-Methode aufrufen, sie liefert einen normalen Pointer zurück, den man für Referenzen benutzen kann.

Werbeanzeige