Register for your free account! | Forgot your password?

You last visited: Today at 13:07

  • Please register to post and access all features, it's quick, easy and FREE!


[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.

Reply
 
Old   #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
  • einfachere Nutzung



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



_bufferoverflowin is offline  
Thanks
4 Users
Old 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)


fcsk_aim is offline  
Old 02/17/2017, 08:49   #3
 
elite*gold: 26
Join Date: Oct 2011
Posts: 1,262
Received Thanks: 1,059
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
He3o Crysis is offline  
Thanks
1 User
Old 02/17/2017, 09:48   #4
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,101
Received Thanks: 1,536
Eine Frage habe ich noch!

Was genau hat das nun mit Metin2 zu tun?


ProfessorEnte is offline  
Thanks
1 User
Old 02/17/2017, 10:02   #5
 
elite*gold: 0
Join Date: Aug 2016
Posts: 68
Received Thanks: 10
Quote:
Originally Posted by ProfessorEnte View Post
Eine Frage habe ich noch!

Was genau hat das nun mit Metin2 zu tun?
Alles!

...Hab ich mich auch gefragt..
ctra is offline  
Old 02/17/2017, 11:06   #6
 
elite*gold: 0
Join Date: Feb 2017
Posts: 7
Received Thanks: 5
Quote:
Originally Posted by Socialized View Post
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 View Post
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"
_bufferoverflowin is offline  
Old 02/18/2017, 08:05   #7
 
elite*gold: 0
Join Date: Oct 2013
Posts: 115
Received Thanks: 191
Good idea, I look forward to the final work.
.T4Ump is offline  
Old 02/20/2017, 04:39   #8
 
elite*gold: 0
Join Date: Jul 2009
Posts: 2,471
Received Thanks: 5,620
Auch ganz gut




.Alpha. is offline  
Reply



« [Release]optimaler Ingame-Itemshop | [Release]Privat Nachricht "Gesehen" »

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 +2. The time now is 13:07.


Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

BTC: 3KeUpz52VCbhmLwuwydqxu6U1xsgbT8YT5
ETH: 0xc6ec801B7563A4376751F33b0573308aDa611E05

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2019 elitepvpers All Rights Reserved.