我刚刚升级到Qt 5.6.0.我注意到之前没有注意到的东西.Qt Creator中的一个新项目现在有三个构建配置:"release","debug"和"profile",在我看来,"profile"是新的.如果是这样,它的目的是什么?
在Sublime Text中我可以输入Ctrl+ P,然后输入一个文件名直接转到这个文件.我也可以输入Ctrl+ R,键入方法名称并转到当前文件中的该方法.
Qt Creator中是否有相同的快捷方式?
通过非常糟糕的设计,是否有可能在没有堆分配的情况下在C++中创建内存泄漏?
我想到的一个例子,请纠正我,如果它不符合我的想法:
#include <iostream>
#include <string>
void WhatIsYourName()
{
std::string name;
std::cout << "What is your name? ";
getline (std::cin, name);
std::cout << "Hello, " << name << "!\n";
WhatIsYourName();
}
int main()
{
WhatIsYourName();
}
Run Code Online (Sandbox Code Playgroud)
对我来说,它似乎WhatIsYourName()是std::string name在每次调用时初始化一个新的,但该函数永远不会超出范围,因此内存永远不会被释放.是对的吗 ?或者编译器是否足够智能以确定将来不会使用该变量,因此如果函数超出范围,它会删除它?
什么样的其他糟糕的设计只使用堆栈分配会造成内存泄漏?