[boost] 2d multi array in 1d array (vector) konvertieren



  • Hallo ihr Lieben,

    mal eine naive Frage: Wenn ich das richtig verstehe, dann ist der Vorteil des boost multi array (im Gegensatz zum 'nested vector'), dass die Daten in einem Speicherblock liegen.

    Muss es dann nicht relativ einfach sein daraus einen 1d array (std::vector?) zu machen?

    Der Punkt ist, dass ich z.B. folgendes vorhabe: Es werden n threads initialisiert und jeder thread produziert m Ergebnisse, also lege ich einen multi array A[n][m] an und habe den Pseudocode

    // initialisiere n threads
    
    for(int i = 0; i < n; ++i)
    {
      // pro thread
      for(int j = 0; j < m; ++j)
        A[i][j] = // Ergebnis
    }
    
    // A[n][m] zu vector<double> vec(n * m) konvertieren
    
    // vector an Funktion übergeben
    function(vec)
    

    Versteht ihr was ich meine?

    Gruß,
    -- Klaus.


Anmelden zum Antworten