Chciałem zrobić taką "sztuczkę" w C++ - przyjąć w konstruktorze klasy/struktury, wartość typu
Spróbowałem zrobić to w ten sposób:
To działa poprawnie(pomijając
T1
, w jakiś sposób "zapamiętać" typ przyjęty przez konstruktor, a następnie w innej funkcji sprawdzić, czy inny podany typ T2
==
T1
.Spróbowałem zrobić to w ten sposób:
struct Foo {
std::size_t type;
template
Foo(T value) : type(typeid(T).hash_code()) {}
``````
template
const bool is_same() {
return typeid(T).hash_code() == type;
}
};
``````
Foo bar(3.14f);
const bool same = bar.is_same();
std::cout << same; // 1
To działa poprawnie(pomijając
const
, bo typeid
ma z tym problem), ale
Nad Morzem Czarnym FORTE też już nie lata z włączonym transponderem.
#ukraina #flightradar24