C++ 在函数中声明非指针变量是内存泄漏吗?

C++ 在函数中声明非指针变量是内存泄漏吗?,c++,pointers,memory-leaks,C++,Pointers,Memory Leaks,正如标题所示,在函数中声明非指针变量是否会导致内存泄漏?我在网上到处寻找,我确实找到了一个答案,但它是C的,我不确定是否有同样的规则应用到C++。我目前正在改进我的一个老项目,我正在努力提高内存效率。举个例子,我有一个加载函数,它在启动时会被调用至少10-20次,我想知道声明非指针变量会对内存产生什么影响 void ObjectLoaderManager::loadObject(char FileName[20]) { char file[100] = "Resources\Model

正如标题所示,在函数中声明非指针变量是否会导致内存泄漏?我在网上到处寻找,我确实找到了一个答案,但它是C的,我不确定是否有同样的规则应用到C++。我目前正在改进我的一个老项目,我正在努力提高内存效率。举个例子,我有一个加载函数,它在启动时会被调用至少10-20次,我想知道声明非指针变量会对内存产生什么影响

void ObjectLoaderManager::loadObject(char FileName[20])
{

    char file[100] = "Resources\Models\"; // Declare object file path
    strncat_s (File, FileName, 20);           // Combine the file path with the input name
    std::string newName;                      // Declare a new scring
    newFile = File;                           // Assign File to the string newFile


    int health = 10;
    // Assign newFile as the name of the newly created object and assign health variable
    // in later parts of the function
}
虽然我知道这个函数的某些部分非常糟糕,而且很多都不是我不会做的实践,但是,我很想知道反复声明非指针变量会对本地化函数产生什么影响。非常感谢。
这是我在文章开头提到的那篇文章的链接。

否,函数中声明的任何局部变量都在堆栈上分配,因此,除非函数被递归多次调用,否则这不是问题。

否,函数中声明的任何局部变量都在堆栈上分配,因此,除非函数被递归多次调用,否则这不是问题。

您可能希望正确转义该对象文件路径。哦,在我现在所做的工作中,它的编写方式有所不同。我只是用它作为一个例子。你可能希望对象文件路径被正确转义。哦,在我现在所做的工作中,它的编写方式有所不同。我只是以它为例,也就是说,许多编程初学者会在堆栈上声明一个相当大的数组,然后立即将其吹出,或者更糟的是,稍后会接近并溢出,这总是很有趣。我个人认为初学者不应该过度思考诸如内存管理之类的概念,而应该关注他们正在解决的重要问题。任何人都可以在获得一些经验后找出自己的记忆去了哪里……也就是说,许多编程新手会在堆栈上声明一个相当大的数组,然后立即将其吹出,或者更糟的是,稍后会接近并溢出,这总是很有趣。我个人认为初学者不应该过度思考诸如内存管理之类的概念,而应该关注他们正在解决的重要问题。任何人都可以在获得经验后找出他的记忆去了哪里。。。