Gibt es eine gepufferte Version von CComBSTR, die String-Verkettung effizienter macht?
-
02-07-2019 - |
Frage
ich mehrere Projekte haben, wo ich Strings in einem BSTR / CComBSTR / _bstr_t Objekt anhängen (z eine dynamische SQL-Anweisung Aufbau). Gibt es einen out-of-the-Box-Typen in der WinAPI die Verkettung zu puffern (wie Stringbuilder in .NET), oder muß ich meine eigenen schreiben? Von dem, was ich weiß, über die Append Methoden, die sie durchführen Neuzuweisung.
Lösung
Kopieren Sie die BSTR in einem CString, tun alle Änderungen dort und kopieren Sie sie dann wieder in den BSTR / CComBSTR. CString die Zuweisungen sind schneller als SysAllocStringLen.
Andere Tipps
Sie haben eine eigene zu schreiben. Sie können die SysAllocStringLen verwenden oder SysReallocString APIs unterschiedlich großen Puffer zu erhalten. Sie arbeiten an einer Eingabezeichenfolge, aber Sie können NULL passieren eine feste Größe, uninitialised Puffer zuzuweisen.