Показать сообщение отдельно

  #7  
Старый 24.11.2024, 18:02
Charmant
Познающий
Регистрация: 08.03.2024
Сообщений: 89
С нами: 1150633

Репутация: 231
По умолчанию

Цитата:
Сообщение от BIT_hack  

Могли бы вы привести пример, я пока не понимаю как это работает(
Fyyre и акуму заливали сдк для грации и интерлюда, там это есть. Точно уже не вспомню чью работу я взял себе (мне нужен был только FString)

Цитата:
Сообщение от Спойлер  


C++:


Код:
template

struct
TArray
{
friend
struct
FString
;
public
:
inline
TArray
(
)
{
Data
=
nullptr
;
Count
=
Max
=
0
;
}
;
inline
size_t
Num
(
)
const
{
return
Count
;
}
;
inline
T
&
operator
[
]
(
size_t i
)
{
return
Data
[
i
]
;
}
;
inline
const
T
&
operator
[
]
(
size_t i
)
const
{
return
Data
[
i
]
;
}
;
inline
bool
IsValidIndex
(
size_t i
)
const
{
return
i

{
inline
FString
(
)
{
}
FString
(
const
wchar_t
*
other
)
{
Max
=
Count
=
*
other
?
std
::
wcslen
(
other
)
+
1
:
0
;
if
(
Count
)
{
Data
=
const_cast

(
other
)
;
}
}
;
inline
bool
IsValid
(
)
const
{
return
Data
!=
nullptr
;
}
inline
const
wchar_t
*
c_str
(
)
const
{
return
Data
;
}
std
::
string
ToString
(
)
const
{
auto
length
=
std
::
wcslen
(
Data
)
;
std
::
string
str
(
length
,
'\0'
)
;
std
::
use_facet
>
(
std
::
locale
(
)
)
.
narrow
(
Data
,
Data
+
length
,
'?'
,
&
str
[
0
]
)
;
return
str
;
}
}
;
Использую для ивентов так:

C++:


Код:
void
CallExecuteUIEvent
(
int
eventID
,
const
wchar_t
*
strParam
)
{
FString
param
(
strParam
)
;
fExecuteUIEvent
(
fGetXMLUIManagerPtr
(
)
,
eventID
,
&
param
)
;
}
 
Ответить с цитированием