如何返回数组字符串的指针
How to return a pointer of array strings
class test
{
private:
string *firstname;
public:
void setfname(const string fname[])
{
delete[] firstname;
firstname = new string[3];
for (int i = 0; i < 3; i++)
{
firstname[i] = fname[i];
}
}
string* getfname(const string fname[]) const
{
return firstname;
}
};
好的,现在我知道返回函数是错误的,因为它给了我直接访问权限,我该如何设置函数以使其不允许。
这就是我将如何测试它:
int main()
{
test t;
string narray[3] = { "Name1", "Name2", "Name3" };
t.setfname(narray);
cout << "nAfter t.setfname(narray);"
<< "nf.getfname(narray) follows: ";
cout << t.getfname(narray);
}
我知道 getfname 是错误的,我该如何解决它?
在最简单的情况下,只需返回字符串的副本而不是指针:
string getfname(const string fname[]) const
{
return *firstname;
}
更好的是,存储一个字符串而不是指向它的指针:
class test
{
private:
string firstname;
...
相关文章:
- 使用 jsoncpp 解析 json 数组字符串
- C++ 对象数组字符串输入在控制台上不起作用
- 插入了 C++ 数组字符串数据,但在显示输出时不显示
- 无法区分 JSON 对象/数组/字符串
- 为什么数组(字符串类型)的大小是 24 字节,带有单个空格元素
- 如何使用数组字符串进行输入验证
- (C++) 打印字符数组字符串的单词时出现问题
- 使用Back_inserter从任何位置的输入字符中使用Back_inserter进行过滤数组字符串
- C 函数反转字符数组字符串
- 如何在 c++ 中创建数组(字符串 [] )的向量
- 如何返回数组字符串的指针
- char数组字符串混淆
- 如何从字符数组字符串中提取空格
- 是否可以将 Bitset<8> 的值复制到数组字符串而不转换它们?
- C++数组字符串函数
- 如何在函数中操作字符数组(字符串)的指针,该指针在C / C ++中作为参数传递
- visual将音频文件存储到数组/字符串流C++中
- c++在char数组(字符串)上将what替换为
- 将数组字符串转换为intger c++(初学者)
- 需要设置数组字符串长度,使其恰好为13