多次调用MATLAB的addpath有什么缺点吗?

Moh*_*imi 4 matlab include

我的问题是,如果addpath类似于C中的#include.在C中如果不添加#include guard(#ifndef ...),将会有多个函数定义.但似乎MATLAB正在处理这个问题.

我使用这个方案不是多次调用addpath:

try
    f(sample args);
catch err
    addpath('lib');
end
Run Code Online (Sandbox Code Playgroud)

但现在我认为没有必要.

Jac*_*cob 5

#include添加特定的头文件.addpath只是在搜索路径中添加了一个文件夹,并且不会向程序中添加任何代码.可以把它想象为添加目录来搜索C++中的头文件(例如在Visual Studio中,它是"附加包含目录"和g ++,它是用它来实现的-I).

此外,我认为addpath检查文件夹是否已被添加,所以你真的没有做任何重复调用addpath('lib').