我不明白为什么这是允许的:
void Renderer::UpdateTextureFromArray(unsigned int* colors, unsigned int size, TextureData* textureData) const
{
D3D11_MAPPED_SUBRESOURCE ms;
this->deviceContext->Map(textureData->texture, 0, D3D11_MAP_WRITE_DISCARD, NULL, &ms);
memcpy(ms.pData, colors, sizeof(unsigned int) * size * size);
this->deviceContext->Unmap(textureData->texture, 0);
}
我将 UpdateTextureFromArray 函数设为 const,但我仍然可以在其成员上调用非常量函数吗?
在这种情况下,将函数标记为 const 对我来说是不好的风格吗?
编辑:澄清一下,如果我有这样的函数,它是对社会“撒谎”吗?在一个完美的世界里,这段代码不会编译,对吧?