C++ vector问题

[复制链接]
查看11 | 回复2 | 2011-7-13 15:14:06 | 显示全部楼层 |阅读模式
结构体作vector数据类型
例如
struct COLUMN{
        string name;
        int max_len;
        int type;
        int null;
        char *data;
}COLUMN;
vector ROW;
class Row
{
public:
COLUMN &field(int i)
        {
                return _row;
        }
private:
ROW _row;
}
请问若i=2 return _row;返回的是哪个值 如果外部函数调用如
int getLength(int col)
        {
                return _row.field(col).max_len;
        }
那col值表示什么 若col=1像return _row.field(col).max_len返回的是什么?
还有ROW能用像printf 或cout输出吗如果能应该怎么写

回复

使用道具 举报

千问 | 2011-7-13 15:14:06 | 显示全部楼层
1.
i=2 return _row;返回的是 vector里第三个元素的引用.2. col值和你提到的i值是一样的, 若col=1像return _row.field(col).max_len返回的是vector里第二个元素(这个元素是一个COLUMN类型)的成员max_len(你在最前面定义的)3. ROW的输出我一般是会自己定义一个 std::string toString (vector * pROW), 自己手动将它转换成字符串, 然后 cout<< toString (&_row)就可以了. 或者printf ("...%s", toString (&_row)). 当然你也可以重载<<操作符来实现c...
回复

使用道具 举报

千问 | 2011-7-13 15:14:06 | 显示全部楼层
没有全部代码么。。怎么看的云里雾里的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行