В книге Шлее Qt 5.3 есть пример программы где используется необычная запись оператора new на которой я "подвис". Пишут что это размещающий оператор, как я понял им можно создать и инициализировать заранее выделенную память. Но запись этого оператора у Шлее в задаче как то не вписывается в это.
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//Widget w;
//w.show();
QTextEdit txt;
QFont fnt("Lucida Console", 12, QFont::Normal);
txt.document()->setDefaultFont(fnt);
new SyntaxHighLigther(txt.document()); // Вот она!!!
QPalette pal = txt.palette();
pal.setColor(QPalette::Base, Qt::darkBlue);
pal.setColor(QPalette::Text, Qt::yellow);
txt.setPalette(pal);
txt.show();
txt.resize(640, 480);
QFile file("syntaxhighlighter.cpp");
file.open(QFile::ReadOnly);
txt.setPlainText(file.readAll());
return a.exec();
Не понятна вот эта запись: new SyntaxHighLigther(txt.document());
SyntaxHighLigther - это класс, объекта которого не создано, то есть тут происходит создание нового объекта и инициализация его, но КУДА происходит его запись? Ведь по левую сторону оператора new ничего не стоит.