Удаление nullptr перед созданием объекта в коде QtC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Удаление nullptr перед созданием объекта в коде Qt

Сообщение Anonymous »

Я изучаю OpenGL с Qt6 и наткнулся на некоторые примеры. С точки зрения C++ мое внимание привлекает следующий фрагмент кода.

Код: Выделить всё

delete m_program; addShaderFromSourceCode(QOpenGLShader::Vertex, vertexShaderSource);
m_program->addShaderFromSourceCode(QOpenGLShader::Fragment, fragmentShaderSource);
m_program->link();

// Create a VAO. Not strictly required for ES 3, but it is for plain OpenGL.
delete m_vao; create())
m_vao->bind();

m_program->bind();
delete m_vbo; create();
m_vbo->bind();
где

Код: Выделить всё

QOpenGLShaderProgram *m_program = nullptr;
QOpenGLBuffer *m_vbo = nullptr;
QOpenGLVertexArrayObject *m_vao = nullptr;
В чем смысл этой практики? Почему перед созданием объекта необходимо удалить nullptr? Обратите внимание, что в коде эти объекты еще не созданы на момент вызова метода delete. Я не уверен, нужно ли мне добавлять теги Qt или OpenGL для этого вопроса.


Подробнее здесь: https://stackoverflow.com/questions/797 ... in-qt-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»