witam
jakis czas temu widzialem na forum temat chyba zwiazany z wskaznikami .. chodzilo oto ze moga posiadac rozna wielkosc(lub jak kto woli zajmowac rozna wielkosc w pamieci) prawdopodobnie @Azarien to pokazywal
teraz do rzeczy przepisuje/kowertuje kod z c# do c++ dokladnie jest to silnik skryptow
jest tam pewna klasa (to uproszczona klasa oczywiscie zeby pokazac oco chdozi)
c#
public class ScriptVariable
{
public object Value;
public string Name;
public Var_Types Type;
public Var_State State;
public ScriptVariable()
{
Value = (int)0;
Name = "NULL";
Type = Var_Types.INT;// enum
State = Var_State.PUBLIC;//enum
}
}
w kodzie nieraz przypisywane sa rozne typy do Value
np
...
case Var_Types.NULL:
sout.Value = null;
break;
case Var_Types.INT:
sout.Value = (long)Value;
break;
case Var_Types.DOUBLE:
sout.Value = (double)Value;
break;
...
w c++
uzylem void* jako zamiennik klasy object, niby git ale zastanawialem sie nad tymi wielkosciami wskaznikow czy czasem sie niewkopie w jakies bledy
niestety na razie niemoge przetestowac dzialania bo wciaz to konwertuje...
no to te pytanie czy jest to bezpieczne ? do void* beda przypisywane typy takie jak *double , *int(64bitowy) , *string , i 1 specialna klasa odzwierciedlajaca klasy zdefiniowane w skrypcie przez uzytkownika
jezeli bedzie to bezpieczne to 2 pytanie
czy bedzie normalnie dzialac unique_ptr z typem void* ?