tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
130
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    soeni1987 soeni1987 ist offline Mitglied Silber
    Registriert seit
    Mar 2006
    Beiträge
    79
    Huhu,

    ich habe mal ne Frage. Ich habe ein Array von Smartpointern. Jedem Element dieses Arrays möchte ich eine neue Instanz zuweisen. Mein Testcode dazu sieht so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
        shared_ptr<Test> testPointer[8];
     
        // Schnelle initialisierung
     
     
        testPointer[0].reset(new Test());
        testPointer[1].reset(new Test());
        testPointer[2].reset(new Test());
        testPointer[3].reset(new Test());
        testPointer[4].reset(new Test());
        testPointer[5].reset(new Test());
        testPointer[6].reset(new Test());
        testPointer[7].reset(new Test());
     
        for(int i=0;i<8;i++){
            testPointer[i]->testFkt(i);
        }

    Klar kann ich die initialisierung in einer Schleife machen. Gibt es aber noch einen eleganteren Weg? kann ich irgendwie sagen testPointer.reset() und er erstellt automatisch neue Instanzen?

    Könnt ihr eine gute Beschreibung / Erklährung, wie Smartpointer zu verwenden sind, wo die Fallstricke liegen usw. empfehlen?

    Gruß
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Hi

    da testPointer ein ganz normales Array ist, egal wie smart die Klassen drin auch immer sind:
    Schleife.

    Gruß
     

  3. #3
    soeni1987 soeni1987 ist offline Mitglied Silber
    Registriert seit
    Mar 2006
    Beiträge
    79
    Wie ich im Beitrag schrieb eine andere Möglichkeiten als eine Schleife suche ich.
     

  4. #4
    Steiner_B Steiner_B ist offline Mitglied Platin
    Registriert seit
    Mar 2004
    Ort
    Wien
    Beiträge
    573
    Hallo,

    Für so ein Problem kann mans nur mit einer Schleife machen, die einzige Alternative dazu ist die Variante die du schon hast, aber die ist halt nicht sehr schön.
    Ich verstehe außerdem noch nicht ganz warum du nach etwas anderem als einer Schleife machen willst.
     

  5. #5
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.501
    Man könnte die Schleife ja natürlich auch aus if und goto zusammenbauen...
    aber andere Möglichkeiten fallen mir nicht ein.

    Und wie SteinerB schon sagte: Was ist so schlimm an einer Schleife?

    Gruß
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 26.11.10, 11:08
  2. Oracle 10g: via Trigger elegant mehrere Insert auslösen
    Von dexit2k im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 19.02.09, 16:24
  3. [Flash 8] *.swf-Datei "elegant" öffnen
    Von Klausen im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 31.08.06, 15:20
  4. Tabelle/Arrays und Arrays ausgeben
    Von Meitli im Forum ASP
    Antworten: 1
    Letzter Beitrag: 09.02.06, 13:01
  5. verzweifle an Arrays: Arrays veraendern
    Von supersalzi im Forum PHP
    Antworten: 6
    Letzter Beitrag: 01.06.05, 16:00