Всё-таки, стандарт С++ 99-го года попытался убрать сложность указателей, введя ссылки. И это здорово. К сожалению, они остановились на пол-пути. К сожалению, ссылка так и осталась недоделанной. Теперь я могу сказать об этом отчётливо, поскольку фреймворк, на котором я работаю, активно использует ссылки (ни одного new/delete в программе без потери
(
Read more... )
Comments 8
(The comment has been removed)
Reply
(The comment has been removed)
Простой вызов вида
iexample.Some();
должен разворачиваться в виртуальный вызов
Reply
(The comment has been removed)
Reply
(The comment has been removed)
Reply
(The comment has been removed)
По поводу сериализации - безусловно, жаль что не поддерживается. С другой стороны, эта возможность слишком зависит от реализации и платформы, чтобы быть переносимой и поддерживаться на уровне языка.
К слову, не удержусь чтобы не привести пример сериализации, как она выглядит во фреймворке У++ (я ничего лучше пока не видел):
//бинарная
struct Foo {
int q;
String text;
Vector data;
void Serialize(Stream& s)
{
s % q % text % data;
}
}
//XML
struct Data {
Size sz;
int lang;
String text;
Vector vector;
VectorMap score;
VectorMap map;
ArrayMap sizemap;
double number;
bool option;
void Xmlize(XmlIO xml)
{
xml
("Dimension", sz)
("text", text)
("vector", vector)
("Scores", score)
("map", map)
("sizemap", sizemap)
("number", number)
("option", option)
;
XmlizeLang(xml, "Language", lang);
}
};
Reply
Leave a comment