cpp_tips
Toto je starší verze dokumentu!
Tipy & triky C++
char* do istringstrem
- jak z velkého pole znaků udělat istringstream bez kopírování v paměti?
- následující kód paměť kopíruje až 3x (záleží na implementaci copy on write)
char *mybuf[] = "very very .. long"; istringstream myss(string(mybuf, strlen(mybuf)));
- finta
char *mybuf[] = "very very .. long"; istringstream dfile; dfile.rdbuf()->pubsetbuf(mybuf, strlen(mybuf));
- ověřil jsem to zavoláním free na mybuff (kód se musí upravit na dynamickou alokaci mybuf)
Default parametry metody/funkce
- mám metodu s více parametry. Někdy mi ale stačí změnit jen ten první a ostatní jako default
- jako default lze dokonce použít i funkci nebo proměnou
// declaration void setSomething(int val1 = 1, int val2 = 2, int val3 = 3); // definition void setSomething(int val1, int val2, int val) { this.val1 = val1; this.val2 = val2; this.val3 = val3; } // calling setSomething(1); setSomething(1,2); setSomething(1,2,3);
cpp_tips.1450093961.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
