我在处理 C++ 中的 C 样式字符串时遇到了一些麻烦。简而言之,我要做的是将我的 main 方法中的 cstring 传递给我的一个对象的构造函数。
例如
class sample
{
public: // Initalization
Sample( const char * inFile);
}//End sample class
然后在main方法中。
//Main method
int main ( int argc, const char * argv[] )
{
Sample aSample(argv[1]);
}
现在,根据我的假设,const char*
当我使用argv[1]
. 据我了解char *argv[]
,这只是 char 的另一种说法**argv
。
另外,只是为了确保我对 const 的理解是正确的,const char *
说“这个指针指向一个 const char”,其中const char const *
说“这个指针地址不能改变,它指向的地址也是 const”。
更新 -
只是为了澄清这是一个两部分的问题。
- 如果示例中的构造函数对于传递 cstring 不正确,我该如何更正它?
- const的理解
更新了我上面的错误陈述,即当它应该是“第二个”时,我取消了“第一个”指针的引用。感谢您在下面指出这一点。
第二次更新 - 我正在使用 argv[1] 因为我从命令行接收信息,而 argv[0] 只保存我不感兴趣的可执行文件的路径。
任何帮助是极大的赞赏。
-弗雷迪