我是C++的新手,仍然尝试学习语法和最佳实践。
我用一个参数定义了一个方法:
void foo(const std::string& name)
1)这对于将使用用户在例如main方法中定义的字符串的函数来说是正确的参数声明吗?
2)如果这是正确/建议的语法,则示例参数的实例化是什么样的?
最佳答案
我不确定我是否完全理解您的问题,但我会尽力澄清。
您使用术语“方法”。我假设您的方法封装在一个类中?如果是这样,那么:-
在您的头文件(例如source.h)中,
class dog
{
...
public:
void foo(const std::string &name);
...
};
在您的源文件中(例如source.cpp)
void dog::foo(const std::string &name)
{
// Do something with 'name' in here
std::string temp = name + " is OK!";
}
在您的“main”函数中,您可以实例化“dog”类,然后调用“foo”函数,如:-
void blah()
{
dog my_class;
my_class.foo("Testing my class");
}
如果您想要一个函数(即未封装在类中的“方法”),那么您所拥有的是正确的。
在您的源文件中(例如source.cpp)
void foo(const std::string &name)
{
// Do something with 'name' in here
std::string temp = name + " is OK!";
}
如果您希望能够从该特定源文件之外调用函数,则还需要在头文件中转发声明函数。
在您的头文件中(例如,source.h)
void foo(const std::string &name);
要调用您的函数,
void blah()
{
foo("Testing my class");
}
希望这可以帮助!
关于c++ - C++-定义/实例化字符串的语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1664054/