请教关于C++初始化vector的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教关于C++初始化vector的问题相关的知识,希望对你有一定的参考价值。
类中声明static cosnt vector<string> strVect,请问如何初始化?在里面加入几个字符串。
首先谢谢各位给予帮助。但不求,我的strVect是想加入几个不同的字符串进去。
//Card.h
//纸牌类,只供“纸牌算法类”使用
class CardManage;
class Card
friend class CardManage;
public:
Card(int cardNum,int cardFlower):cdNum(cardNum),cdFlower(cardFlower)
virtual ~Card()
protected:
int getNum() const return cdNum;
int getFlower() constreturn cdFlower;
const int cdNum,cdFlower; //纸牌的数字和花的类别
;
CardManage.h
//纸牌管理类
#include <vector>
#include <string>
using namespace std;
#include "Card.h"
class CardManage
public:
CardManage(int deckCount = 1); //默认一副牌
private:
vector<Card> cdVect1; //
static const vector<string> typeVect; //装花的类别(“红桃”....)
;
定义文件中输入:
#include "CardManage.h"
#include <vector>
using namespace std;
vector<string> CardManage::typeVect到这里输入点的时候也不会自动提示。。手工加入.push("aaa")会报错:语法错误 : 缺少“;”(在“.”的前面)。
请问这个问题怎么解决?
static cosnt vector<string> strVect(n,"这里写你要的字符串");
这样可以加入几个字符串,当然这些字符串都是一样的,要是你想初始化不一样的,我就不知道怎么办了 因为你要的这个vector是const 必须定义时候初始化。同求高人指点能否初始化元素不一样的const的vector 参考技术A vector初始化时有一个方法,就是vector<string>(ptr1,ptr2),其中ptr1表示一个数组的首地址,ptr2表示这个数组的后一个地址,也就是这个数组的最后的一个元素的下一个地址。你可以先初始化一个数组,然后把这个数组作为参数初始化这个vector。。。我觉得这样是可行的。但是C风格字符串和C++风格字符串可能略微有区别,所以要尝试尝试 参考技术B strVect.push("asdfasdf"); 参考技术C push_back
以上是关于请教关于C++初始化vector的问题的主要内容,如果未能解决你的问题,请参考以下文章