static const std::stringstream ???
-
Hallo allerseits,
ist es möglich ein "static const std::stringstream" zu deklarieren

class A { protected: static const std::stringstream data_; }Falls es geht (std::stringstream hat kein "operator=") wäre ich über ein kurzes Bsp. dankbar.
Falls nicht würde ichclass A { protected: static const std::string data_; }nutzen. Was aber wenn "data_" in der Ausgabe über mehrere Zeilen geht? Alles "brutal" in eine Zeile mittels "\n" schreiben? Das fänd' ich ugly
Grüße!
-
Was soll dir ein konstanter Stream bringen?
Wenn du einen Text als statisch konstant speichern willst, mach das mittels
std::string. Bei mehreren Zeilen nimmst du am einfachsten'\n'(was soll daran "ugly" sein?) oder - um es kompliziert zu machen - einen Container, dessen Elemente jeweils einer Zeile entsprechen.
-
Es geht mir dabei nur um den "coding style". Wenn ich es per "std::string" mache kann ich nicht die Zeile bei Spalte 80 umbrechen. Das fänd' ich ugly.

-
was meinst du mit umbrechen?
du kansnt die einzelnen zeilen in einem string speichern indem du als umbruchszeichen '\n' nimmst
du kansnt den string durchgehen und dabei die '\n' 's zählen, bei 79 gezählten hast du deine 80. zeile...
per substr kansnte die dann exportieren
-
goran schrieb:
Es geht mir dabei nur um den "coding style". Wenn ich es per "std::string" mache kann ich nicht die Zeile bei Spalte 80 umbrechen. Das fänd' ich ugly.

Wenn ich dich richtig verstehe:
static const std::string bla = "Zeile 1\n" \ "Zeile 2\n" \ "Zeile 3\n";
-
Badestrand schrieb:
Wenn ich dich richtig verstehe:
static const std::string bla = "Zeile 1\n" \ "Zeile 2\n" \ "Zeile 3\n";Den kannte ich nicht. Danke. Asche auf mein Haupt...

-
Ist das \ nicht nur für Makros, die auf mehreren Zeilen definiert werden? Soviel ich weiss, geht es bei String-Literalen auch ohne...
-
Nexus schrieb:
Ist das \ nicht nur für Makros, die auf mehreren Zeilen definiert werden?
Ich schätze es wird vom Präprozessor verarbeitet, dem ist ja egal wo er das macht

-
Nexus schrieb:
Ist das \ nicht nur für Makros, die auf mehreren Zeilen definiert werden? Soviel ich weiss, geht es bei String-Literalen auch ohne...
Du liegst richtig, es geht auch ohne "\".
static const std::string bla = "Zeile 1\n" "Zeile 2\n" "Zeile 3\n";cu André