Symulator EU07 (i nie tylko) > Na warsztacie

 Ratowanie MaSZyny, implementacja ficzerow od Q do głównej gałęzi, lifting exe

<< < (183/205) > >>

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

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona

Idź do wersji pełnej
Powered by Advanced Topic Prefix Pro
Powered by SMFPacks Likes Pro Mod