Biste zu Faul 1 Sekunde im source von dem Crapshit-Haufen nach zu sehen ob der die Projektion in die Tabelle schreibt ?
Beiträge von StreetFight
-
-
Bitte melden Sie sich an, um dieses Medienelement zu sehen.
-
There is an incredible amount of boilerplate.
Bitte melden Sie sich an, um diesen Link zu sehen.with C++17 you can use fold expressions
If you want to be sure that an empty sum will also compile you can do this:
Also your code prevents a basic usage of max, for instance:
Will result in
Code- error: non-const lvalue reference to type 'unsigned int' cannot bind to a value of unrelated type 'int' return (static_cast(first) > static_cast(second)) ? static_cast(first) : static_cast(second)
- note: in instantiation of function template specialization 'utils::Max' requested here std::cout << "max(" << u << ", " << i << ") = " << utils::Max(u, i);
- error: non-const lvalue reference to type 'unsigned int' cannot bind to a value of unrelated type 'int' return (static_cast(first) > static_cast(second)) ? static_cast(first) : static_cast(second)
You have many containers that don't have operator[] A std::list is out of scope your max function for a reason. The semnatics for a std::map can surprise too, since anyone with basic knoweldege of STL will cosidr const std::pair<key, T> TO BE the element type
1.) I know of fold expressions but C++17 ist no avaible for me.
2.) thanks for the example didnt tested it that way i fixxed it now.
3.) this was more of an quick and dirty implementation. that suits my needs, if you dont want to use it dont use it!
4.) i dont use an std::list since its slow on iterating over it and you should not too, unless you have a good reason to use it.
5.) const std::pair<key, T>& is exactly what a beginner would pass in and its wrong this will result on copying every element in the map and you wont notice.
because it has to be const std::pair<const key, T>& (notice the const on the key)
6.) Empty Sum should not compile because it makes no sense !7.) Edit: sorry for my lazyness did forget to change sum and min..
-
Nicht?
Bitte melden Sie sich an, um diesen Link zu sehen.
Bitte melden Sie sich an, um diesen Link zu sehen.
Bitte melden Sie sich an, um diesen Link zu sehen.Einige Compiler haben es anfangs falsch implementiert aber an sich sollten sie constexpr sein.
max und clamp sind constexpr, accumulate for_each and friends nicht.
Manche sind ab C++20 constexprBitte melden Sie sich an, um diesen Link zu sehen. z.B
zuminderst unter MSVC keine Ahnung wies auf Gcc ist.
#ifdef _MSC_VER
#pragma push_macro("max")
#endif
#undef max
std::max(1,std::max(2,3));
#ifdef _MSC_VER
#pragma pop_macro("max")
#endifWer macht sowas?
#define NOMINMAX
Vor dem einbinden der windows.hJa nur dann muss ich überall #include <algorithm> adden, und max auf std::max ändern.
-
steht genau da : 2018-04-16 02:23:16 710 [ERROR] Column count of mysql.db is wrong. Expected 22, found 20. Created with MySQL 50092, now running 50639. Please use mysql_upgrade to fix this error.
Hast du da zwei ColumS hinzugefügt ? Wenn ja lösch se wieder oder nimm mal ein backup von der tabelle?
Ansonsten benutzt du vielleicht eine Datenbank die von einer anderen MySQL version stammt dann würde ich mal deine derzeigte MySQL version deinstallieren und die richtige für die Fliege Files DB installieren.
-
Hast du die third party C++ libs alle neu gebaut?(cryptopp z.B).
Wenn nicht dann cryptopp und friends mit v141 bauen danach clean und build. -
Könnte bei neueren Compilern Kompatibilitätsprobleme geben. void_t ist als Typ ab C++17 definiert, du hast die Definition bei dir aber nochmal drin.
Zum Rest kann ich nicht viel sagen, da mir das um ehrlich zu Code zum durchlesen ist.Was das mit den Standardcontainern sein soll, versteh ich nicht so ganz. Es gibt std::min_element, was eigentlich genau den Zweck erfüllt.
Sum kannst du dir auch sparen, dafür gibt es std::accumulate. Avg kannst du mit einem Call zu std::transform sparen.Grundsätzlich ist dein Code ganz nett, aber ich bin mir wie gesagt nicht ganz sicher, wofür das sein soll. Wenn man die Standard-Library vernünftig benutzen kann, sollte man das meiste davon wirklich nicht brauchen.
Und abgesehen davon muss ich ehrlich zugeben verlasse ich mich bei sowas lieber auf die Implementation in der Standardlibrary als auf sketchy Code aus einem Metin-Forum.Das mit den Containern hab ich unten auch nochmal erwähnt.
zudem hatte ich keine Lust mehr auf:
#ifdef _MSC_VER
#pragma push_macro("max")
#endif
#undef max
std::max(1,std::max(2,3));
#ifdef _MSC_VER
#pragma pop_macro("max")
#endifnur damit ich kurz max benutzen kann, bleibt jedem selbst überlassen ob ers verwendet oder nicht.
und mit std::accumulate und std::transform kann man keine beliebige Anzahl an Argumenten übergeben.
z.B utils::Sum(2,2,2,22,2,2,22,2,2,2,2,32,,23);Zudem sind die STL algorithmen nicht constexpr.
Aber danke für deinen Beitrag, sind berechtige Fragen.
-
Hallo da mich std::min und std::max nerven hab ich mich mal schnell hingesetzt und eigene bessere varianten geschrieben.
Bestimmt kann der ein oder andere Dev auch was damit anfangen.Was sind die Vorteile ?
1.) kein nerviges pragma push macro, undef max etc. mehr
2.) ihr könnt eine beliebige Anzahl an Argumenten und beliebige typen übergeben.
3.) die Funktionen leiten immer den größten Datentypen ab.
4.) Ihr könnt einen Container oder ein C-Array übergeben.
5.) Wenn ihr die Funktionen mit Werten aufruft die zur Compile-Time bekannt sind sollten die Funktionen auch zur Compile-Time ausgewertet werden können.Hier der Code:
Verwenden kann man das ganze dann so :
Ja Ja, SFINAE ist schon was feines :D.
Ich weiß das die varianten mit den Containern eigentlich nicht notwendig gewesen wäre aber hab dann auch kein bock mein Max noch mit max_element zu mixxen.MfG
-
Wenn mir jemand so eine kaputte Quest zukommen lasst, dann schau ich es mir an wenn ich zu Hause bin.
-
man müsste das mal im client analysieren würde mal irgendwo nen breakpoint setze, vielleicht in PythonQuest.cpp und im debugger durch steppen.
standard problem bei 40k files. Eine richtige Lösung hat bis her keiner gefunden, du kannst es aber umgehen indem du mit lvl 1 per starterquest eine questrolle gibst die IMMER links am rand ist (userpanel quest zb oder faq quest oder so). Solange du links eine questrolle hast die du öffnen kannst, passiert dies nicht das die schrift da bleibt. Klingt komisch, funktioniert aber.
Kp was du laberst nur weil du nix kannst, solche Fehler lassen sich eigentlich recht einfach beheben.
-
viel inkompetenter gehts ja bald garnicht mehr, willste das file nicht gleich uploaden und wir machens dir ?
-
-
This is what I answered allready Dude.
-
nö das hat damit nichts zu tun
kommt auf die individuellen personen an und wie gut die c++ beherrschen
das hat nichts mit allgemeinem technikfortschritt zu tun
die meisten grundlegenden techniken von modernem c++ gab es damals schon oder man hätte sie kinderleicht nachbauen können (zb smart ptr)Scheiß auf Smart Pointer lieber Raw Pointer die überall rumhängen und leaken.
Wir wollen ja den Style vom Source Code beibehalten so wie das alle machen^^.Nova hat seinen Server ja vor Kurzem dicht gemacht. Da war in der Vorstellung für paar Stunden ein Statement von ihm, indem es darum ging, dass er den Leuten aktuell davon abrät, einen Server zu betreiben, da es zu gefährlich ist. Vielleicht meldet er sich hier ja, glaub ich aber eig nicht Bitte melden Sie sich an, um diesen Link zu sehen.
Irgendjemand hat bei der GVU auch Niar von Tsuyoshi2 angeschwärzt, kp wer, ist mir auch egal. Irgendjemand hat mir dazu mal Screens geschickt, wo die her sind weiß ich nicht. Sie beweisen eigentlich auch nichts, könnte aber eventuell interessant sein.
Bitte melden Sie sich an, um dieses Bild zu sehen.
Das ist die Antwort, die eigentliche E-Mail will/kann ich hier aus Datenschutz nicht wirklich zeigenDie Pest höchstpersönlich muss noch ihren Senf dazu geben.
-
in 7 Tagen kannste nicht mal annährend die ganzen Bugs fixxen die beim entwickeln enstehen. Schon garnicht bei so nem code.
-
Mich würd es mal mehr interessieren wie es eigentlich dazu kam das der Src public wurde, weil so dumm ist ja eigentlich niemand.
-
Könntest deine virtual id runtersetzen so das sie sich mit denen von den Mobs überschneidet
-
Also wenn man so ein schlechtes Auktionshaus haben möchte, dann nimmt man das public von Kilroy das sieht nämlich zufällig genau so hässlich aus.
-
im visual studio auf erstellen klicken und auf freebsd das makefile ausführne ?
-
wo bleibt sein geld?