所以标题是我的问题。在内存中,参数可以位于堆栈或堆上,具体取决于它们的初始化方式,但如何处理硬编码信息?
例如,我将使用构造函数ifstream
这有什么区别:
void function(){
ifstream infile("home/some/file/path");
}
对比
void function(char* filePath){
ifstream infile(filePath); //filePath points to a character array which contains home/some/file/path
}
使用其中一个是否会产生任何记忆影响?(如果 char* 未正确释放,多线程可能会导致堆损坏?等等)。
我只是想了解差异和可能的影响,以便将答案应用于更大的问题。欢迎所有见解,如果我做出任何不正确的陈述/假设,请随时纠正我!