Symulator EU07 (i nie tylko) > Na warsztacie
Ratowanie MaSZyny, implementacja ficzerow od Q do głównej gałęzi, lifting exe
tmj:
--- Cytat: queuedEU w 03 Marca 2016, 22:27:55 ---zrobilbym nawet we wpisie podawanie nazwy typu wyliczeniowego, ale w c++ konwersja typow na string i odwrotnie nie jest userfriendly.
W pascalu to jest jedna linijka kodu, przyklady dla c++ sa na internetach ale jest to przerost formy nad trescia.
--- Koniec cytatu ---
Oj tam oj tam, technika poszla do przodu:
--- Kod: --- std::unordered_map<std::string, int> values = { { "triangle", 1 }, { "polygon", 2 }, { "line", 3 }, { "point", 4 } };
auto lookup = values.find( "polygon" );
auto value = lookup == values.end() ? 0 : lookup->second; // zamiast 0 mozna podac wartosc default
--- Koniec kodu ---
I juz. Jedna linijka inicjalizacji a potem dwie, zeby znalezc co trzeba (albo 0 jak nie znajdzie) zaraz tam przerost formy :d
(parametr dla find() powinien byc pewnie konwertowany do lowercase na wszelki wypadek, bo znajac zycie to ktos zaraz sobie napisze w .ini "Point" bo tak ladniej i beda cztery litery)
queuedEU:
To jest zgodne z C99? Bo mnie sie wydaje ze to moze byc C++11...
No juz widze ze unordered_map nie ma w std... No wiec odpada :). Do przeportowania kodu na C11 jeszcze dluga droga, ale mam nadzieje ze do konca roku.
tmj:
--- Cytat: queuedEU w 04 Marca 2016, 00:16:18 ---To jest zgodne z C99? Bo mnie sie wydaje, ze to moze byc C++11...
--- Koniec cytatu ---
Auto jest c++11 ale to tylko moje lenistwo, zawsze mozna podac typ recznie. Inicjalizacja listy, nie jestem pewien; VS2012 chyba tego nie przelknie, 2013 kompiluje bez problemu (podobnie z reszta jak auto) i jest darmowa wersja Express z MS, wiec to tez raczej nie tragedia..?
Edit: unordered_map w starszej wersji byla pod nazwa hash_map, jesli uzywasz VS2012 to bedzie w stdext::
queuedEU:
Nie, no jak juz sie rozpocznie translacja na dobre, znaczy pierw bedzie translacja tej starej kompletnie na c++ bo jest fizyka w pascalu, nastepnie gdy juz bede kontynuowal przenoszeni na MSVS to bedzie to 2013 Express
Dodano: 04 Marca 2016, 00:48:09 MaSZyne sie kompiluje na Borland C++ Builder 5.02 z 2001r :-)
firleju:
Ale po co 2013 EE jeśli można użyć 2015 Community?
Nawigacja
[#] Następna strona
Idź do wersji pełnej