【发布时间】:2016-08-28 03:28:57
【问题描述】:
我正在寻找替代方法来获取提供给进程的命令行参数argc 和argv,而无需直接访问传递给main() 的变量。
我想创建一个独立于main() 的类,这样argc 和argv 就不必显式传递给使用它们的代码。
编辑:一些澄清似乎是有序的。我有这门课。
class Application
{
int const argc_;
char const** const argv_;
public:
explicit Application(int, char const*[]);
};
Application::Application(int const argc, char const* argv[]) :
argc_(argc),
argv_(argv)
{
}
但我想要一个默认构造函数 Application::Application(),带有一些(很可能)C 代码,可以从某处提取 argc 和 argv。
【问题讨论】:
-
“获得”是什么意思?还有哪里来的?
-
除了
main的参数外,没有可移植或标准的方法来获取程序的参数。 -
@JoachimPileborg 是的,但问题是特定于操作系统的,不可移植。
-
您标记这个问题
linux、windows、posix和bsd并说这个问题是特定于操作系统的?如果它是特定于操作系统的,您只会提到一个操作系统,即您的目标。 -
在正确回答问题之前,我们应该停止支持格式错误的问题。这个问题我还是不清楚,你基本上是想得到那些参数,而不需要传递它们?您可以创建一个包装器,如果注入则间接提供参数。我只是认为,一旦OP的要求明确了,我们就可以证明他想要的是否可能
标签: c++ linux windows posix bsd