Capt_S
#programowanie #cpp komunikuję ze sobą dwa programy i robi się to stringiem w klasie którą mam z biblioteki. No i żeby nie trzymać w pamięci stringów, zrobiłem sobie po prostu enum class i funkcję zwracającą char o tej wartości i ten string z jednym charem wysyłam. Jak najtaniej przekonwertować enum do string i odwrotnie? Dokładniej chodzi o wide char type i hstring z visual c++ i na razie wygląda to tak i wydaje mi się głupie:

enum class Command
{
HANDSHAKE = 1,
GOT_IT
};

hstring CMD(Command command)
{
return (wchar_t)static_cast(command) + L"";
}

Command CMD(hstring command)
{
return static_cast((int32_t)command.front());
}

Mogę pominąć któreś kroki?
0
  • Najlepsze
  • Wszystkie komentarze
Passer93
@Capt_S xD Premature optimization is the root of all evil.
Przecież parę bajtów nie zrobi żadnej różnicy xDDDD i tak to zostanie opakowane w pakiet TCP/UDP I jakis protokół wyższej warstwy.
1
I.....0
0
Capt_S
@Init0: wiem jak przesyłać, chodzi mi tylko o najprostrzy cast pomiędzy enum class, a string o długości jednego char :D
0
Passer93
@Capt_S żeby nie trzymac stringów ? Co? Możesz przesłać underlying int value czyli 1 albo 2
0
Capt_S
@Passer93: no i to robię przecież, pytam czy kod który to robi można napisać inaczej, czy jest optymalny ten który zrobiłem
0
Passer93
@Capt_S dlaczego "nie chcesz trzymać w pamięci stringow' ?
0
Capt_S
@Passer93: no nie lepiej tak niż trzymać jakąś listę z "HANDSHAKE", "GOT_IT" i wysyłać więcej znaków przez sieć, nie?
0
Capt_S
@Passer93: w sumie... :P
0