Direkter elementzugriff beim Vector???
-
Hallo,
ist nach dem C-Standart soetwas gülltig?vector<char> Test; Test.push_back('A')'; Test.push_back('B')'; Test.push_back('C')'; Test.push_back('D')'; Test.push_back('\0')'; string s=&Test.front();
-
Nein.
Du kannst nicht davon ausgehen das die einzelnen
Elemente im Speicher hintereinander liegen.
-
Doch, ist selbstverständlich erlaubt und definiert.
-
der wickler der ente schrieb:
Doch, ist selbstverständlich erlaubt und definiert.
Quelle?
-
Die Elemente liegen hintereinander. Steht irgendwo im standard
-
doch schrieb:
Die Elemente liegen hintereinander. Steht irgendwo im standard
Ich suche ja gerade im Standard, aber iwie kann ich nichts finden

-
23.2.4/1
-
Joa ist definitiv erlaubt und auch gerne als Methode genutzt um von const char* auf char* zu kommen

void terminate(char* data, std::size_t pos) { data[pos] = '\0'; } // ... const std::string string("Das ist ein Test!"); std::vector<char> editable_string(string.begin(), string.end()); terminate(&editable_string[0], string.length());...
-
wo findet man eigentlich den C++ standard? gibts das nur als buch?
-
Hallo,
den C++ Standard gibt's als Buch und günstiger (30 USD) als pdf-Datei zum runterladen:
http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2FISO%2FIEC+14882-2003