我有一個二維的字符串表(使用STL向量),並試圖修改,以便該表是向量的字符串向量的指針向量。我知道這將需要更改構造函數,以便動態創建行,並將指向行的指針插入到表中,但我不確定如何首先創建此表。聲明向量的指針向量的字符串
在我的.h文件:
class StringTable
{
public:
StringTable(ifstream & infile);
// 'rows' returns the number of rows
int rows() const;
// operator [] returns row at index 'i';
const vector<string> & operator[](int i) const;
private:
vector<vector<string> > table;
};
在我的.cpp文件:
StringTable::StringTable(ifstream & infile)
{
string s;
vector<string> row;
while (readMultiWord(s, infile)) // not end of file
{
row.clear();
do
{
row.push_back(s);
}
while (readMultiWord(s, infile));
table.push_back(row);
}
}
int StringTable::rows() const
{
return table.size();
}
const vector<string> & StringTable::operator[](int i) const
{
return table[i];
}
我覺得這可能是一個非常簡單的開關,但我沒有很多的使用矢量的經驗,我不知道從哪裏開始。任何指導,非常感謝!
你爲什麼要指針的載體?這聽起來像一個可怕的想法。 –
@BrendanLong它是C/C++! –
爲什麼你在'while(readMultiWord(s,infile))'裏面有'while(readMultiWord(s,infile))'?它是否會在行尾返回「false」? –