如何在C++中从命令行参数分配成员变量
How do I assign a member variable from command-line argument in C++?
有没有办法从命令行参数中分配类成员,以便该类的所有对象都具有该值(默认情况下)?默认情况下我想要它,因为成员函数在Foo类中创建了一个新对象,而且我不想让Var
成为函数参数。如果可能的话,我想避免全局变量。我希望我的代码能像下面的代码一样,但不使用全局变量。
Foo.h:
#include <string>
#include <iostream>
extern int Var;
class Foo{
public:
int var;
Foo();
};
Foo.cpp:
#include "Foo.h"
Foo::Foo(){
var = Var;
}
main.cpp:
#include "Foo.h"
int Var; // global variable
using namespace std;
int main(int argc, char *argv[]){
Var = stoi(argv[1]);
Foo foo;
cout << foo.var << endl; // should print the command-line argument
}
我建议使用std::istringstream
:
int main(int arg_count, char * * arguments)
{
std::istringstream arg_stream(arguments[1]);
unsigned int value;
arg_stream >> value;
return 0;
}
相关文章:
- Clang-Format 不能正确分配函数参数
- 为什么不接受具有默认分配参数的函数作为 0-arg 生成器?
- 将共享指针传递给函数参数 - 将其分配给局部变量的正确方法是什么
- 为模板参数类型中的新对象分配内存
- 将指针作为参数分配给类变量,然后使用它抛出读取访问违规
- gtest-将模拟函数参数分配()
- 使用模板类的任意数量的参数分配
- 为作为双指针传递的参数分配内存
- C++ 将字符串参数分配给字符串
- 使用 ** 或 *& 为函数中的参数分配内存
- 如何在C++中从命令行参数分配成员变量
- 通过参数分配指针的值
- 通过构造函数调用中的命名参数分配类变量 C++.
- 将构造函数的参数分配给向量变量
- 为构造函数类中给定的参数分配内存
- 将引用参数分配给局部变量
- 这些参数分配在哪里
- 为什么类成员函数会销毁为指针参数分配的内存
- 根据模板参数分配模板类的静态常量浮点成员
- C++ 使用外部参数分配具有'compound names'变量