|
You last visited: Today at 18:34
Advertisement
[C++] String class [in development]
Discussion on [C++] String class [in development] within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.
02/16/2017, 22:29
|
#1
|
elite*gold: 0
Join Date: Feb 2017
Posts: 7
Received Thanks: 5
|
[C++] String class [in development]
moin
habe heute angefangen eine art verbesserte string klasse für c++ zu entwickeln, da in der string klasse der STL einige nützliche funktionen fehlen (zB formatierungsmethoden) und es mich ankotzt, dass eine bestimmte menge speicher reserviert wird, egal wie lang der string ist
das ganze basiert auf einem c string (char pointer) und benutzt selbst geschriebene c string funktionen (bis jetzt strcpy und strcmp) und memory funktionen (malloc, realloc, free usw)
die klasse steckt noch in den kinderschuhen
wollte aber trotzdem schon das github repository veröffentlichen, evtl ist ja jemand an der entwicklung interessiert
habe die klasse für mich selber angefangen
also ist es kein weltuntergang wenn sie keiner nutzt
(aktueller Stand)
Vorteile gegenüber std::string- dynamische Speicherreservierung (es wird nur das genutzt, was gebraucht wird)
Vorteile gegenüber C strings
Features- Überladene mathematische Operatoren: operator=
- Überladene type Operatoren: char*, std::string (man kann das String Objekt an jede Funktion/Methode geben, die C/C++ Strings nutzt)
Repository
die klasse findet ihr hier:
im main branch werden stable versionen sein
im dev branch der aktuelle entwicklungsstand
Nutzung
die nutzung ist relativ simpel:
Code:
#include "String.h"
int main()
{
String str = "string";
std::cout << str;
return 0;
}
mfg heap
|
|
|
02/17/2017, 02:59
|
#2
|
elite*gold: 100
Join Date: Dec 2014
Posts: 93
Received Thanks: 51
|
Seems your class is for BSTRING-like 0-terminated strings? *Joke /And std::string does have dynamic memory allocation \Joke* As-is, your string looks less useful... Also, why do you avoid operator-overloading?
Edit: I will look later intro repository(deeper)
|
|
|
02/17/2017, 08:49
|
#3
|
elite*gold: 26
Join Date: Oct 2011
Posts: 1,262
Received Thanks: 1,062
|
Mir gefällt nicht, da die class nicht header-only ist (könnte man improven, wäre cool!) und außerdem kannst du einfach nen normalen string mit boost::format formatieren (ist header-only  )
Code:
//sieht dann so aus
std::string test = (boost::format("test %d %s") % 10 % "boo!").str();
//oder so
std::string test = (boost::format("test %1% %2%") % 10 % "boohoo!").str();
c++17 bringt ebenfalls nen paar Funktionen mit, mit denen man effizienter mit Strings arbeiten kann (bspw. string_views)...
Bin aber gespannt wie es mit der Entwicklung voran geht.
Viel Glück/Spaß dir noch.
Socialized
|
|
|
02/17/2017, 09:48
|
#4
|
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
|
Eine Frage habe ich noch!
Was genau hat das nun mit Metin2 zu tun?
|
|
|
02/17/2017, 10:02
|
#5
|
elite*gold: 0
Join Date: Aug 2016
Posts: 68
Received Thanks: 10
|
Quote:
Originally Posted by ProfessorEnte
Eine Frage habe ich noch!
Was genau hat das nun mit Metin2 zu tun?
|
Alles!
...Hab ich mich auch gefragt..
|
|
|
02/17/2017, 11:06
|
#6
|
elite*gold: 0
Join Date: Feb 2017
Posts: 7
Received Thanks: 5
|
Quote:
Originally Posted by Socialized
Mir gefällt nicht, da die class nicht header-only ist (könnte man improven, wäre cool!) und außerdem kannst du einfach nen normalen string mit boost::format formatieren (ist header-only  )
Code:
//sieht dann so aus
std::string test = (boost::format("test %d %s") % 10 % "boo!").str();
//oder so
std::string test = (boost::format("test %1% %2%") % 10 % "boohoo!").str();
c++17 bringt ebenfalls nen paar Funktionen mit, mit denen man effizienter mit Strings arbeiten kann (bspw. string_views)...
Bin aber gespannt wie es mit der Entwicklung voran geht.
Viel Glück/Spaß dir noch.
Socialized
|
könnte man header-only machen
zu der boost sache:
würde auch funktionieren aber ich zb habe nicht immer lust boost zu nutzen und bei manchen sachen kommt es ja auch auf die größe der binary an  da wäre boost kontraproduktiv
und eine format methode ist auch nicht alles, was ich geplant habe
Quote:
Originally Posted by fcsk_aim
As-is, your string looks less useful... Also, why do you avoid operator-overloading?
Edit: I will look later intro repository(deeper)
|
it's still in development
i already released it because some people may be interested in the development
also, i dont avoid operator overloading
already overloaded 4 operators, more operators will follow
----------------------------------------------------------------------
edit: habs mal header-only gemacht
danke an @  für den "hinweis"
|
|
|
02/18/2017, 08:05
|
#7
|
elite*gold: 0
Join Date: Oct 2013
Posts: 115
Received Thanks: 192
|
Good idea, I look forward to the final work.
|
|
|
02/20/2017, 04:39
|
#8
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,471
Received Thanks: 5,622
|
Auch ganz gut

|
|
|
 |
Similar Threads
|
[Visual Basic] [Problem] String auslesen/String zufällig wählen
05/06/2012 - General Coding - 4 Replies
Code:
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Name Generator", 236, 299, 815, 246)
$Input1 = GUICtrlCreateInput("Username", 24, 72, 185, 21)
$Input2 = GUICtrlCreateInput("Username", 24, 104, 185, 21)
$Input3 = GUICtrlCreateInput("Username", 24, 136, 185, 21)
$Input4 = GUICtrlCreateInput("Username", 24, 168, 185, 21)
$Input5 = GUICtrlCreateInput("Username", 24, 200, 185, 21)
|
Hey !! New class string
10/15/2011 - Dekaron Private Server - 10 Replies
For new class string should to use
"CON and RIP" or "WSU and MSE"
now i'm confused.
:confused::confused:
and why i can't to add new class string by use "JMP" to new space (by ollydbg),
where should be add new class string ?
|
[VB08]String in String mit mehreren Funden
08/08/2011 - .NET Languages - 6 Replies
Hey,
bin gerade auf ein Problem gestoßen, an dem ich mir seit 3 Stunden die Zähne ausbeiße.
Ich will eine Funktion schreiben, die der _StringBetween Funktion von AutoIt gleich ist. _StringBetween gibt in einem Array alle Strings zwischen zwei SubStrings und dem ganzen String aus. Die Ausgabe bei
_StringBetween("<h1>test1</h1>&l t;h1>test2</h1>", "<h1>", "</h1>") wäre also idealer Weiße ein Array (x = "test1", x = "test2")...
da man in VB08 kein Array returnen kann, komme ich aber einfach...
|
All times are GMT +1. The time now is 18:34.
|
|