Может кто-нибудь объяснить, почему можно объявить const указатель на то, что имеет различное значение для каждой итерации цикла?const pointer in for loop (C++ 11)
#include <assimp/Importer.hpp>
...
for (int i = 0; i < N; i++) {
const aiVector3D* vp = &(mesh->mVertices[i]);
// use vp.x ...
}
Этот фрагмент является частью примерного кода использования апримента для импорта данных сетки. (я новичок в C++)
'const' просто означает, что компилятор не позволит * you * изменять значение. 'int i = 0; const int * p = & i; ++ (* p)/* ошибка * /; ++ i/* ok * /; ' – Erik
Я думаю, что есть и неправильное представление о том, что означает' const aiVector3D * vp' означает 'aiVector3D * const vp'. – JimmyB
Правильно, в примере это НЕ указатель const; это указатель на объект const. Существует большая разница. http://stackoverflow.com/questions/1143262/what-is-the-difference-between-const-int-const-int-const-and-int-const –