内存泄漏与glfwSetWindowTitle?

我正在使用GLFW进行游戏,而且我有一个允许我设置窗口标题的function。

// PROBLEM WITH INCREASING MEMORY USAGE void WindowSystem::setTitle( const string & title ) { glfwSetWindowTitle( window, title.c_str() ); } 

这个函数在主程序循环的每次迭代中被调用一次,这样我就可以拥有一个基本的FPS计数器。 在Xcode下,程序内存使用率增加得越来越快。 如果我用文字replacetitle.c_str(),问题不会发生,即以下内容不会导致相同的内存使用增长。

  // DOESN'T CAUSE PROBLEM void WindowSystem::setTitle( const string & title ) { glfwSetWindowTitle( window, "Hello world!" ); } 

这个函数被调用的地方。

  int SystemControl::update() { double time = glfwGetTime(); double timeStep = time - control->lastUpdate; control->lastUpdate = time; float frameRate = 1.0f / timeStep; string windowTitle = std::to_string( frameRate ); control->windowSystem->setTitle( windowTitle ); control->physicsSystem->update( timeStep ); return OK; } 

string标题分配在堆栈上,并应在更新结束时释放。 有可能是内存泄漏? 我知道c_str()的指针是在内部管理的,不需要被释放。