请教关于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")会报错:语法错误 : 缺少“;”(在“.”的前面)。
请问这个问题怎么解决?

int n=5;//要几个字符串你自己定
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的问题的主要内容,如果未能解决你的问题,请参考以下文章

为啥 C++ 不需要“new”语句来初始化 std::vector?

C++中操作vector时出现的赋值和初始化的问题

c++ vector二维数组初始化与vector切片

c++ vector二维数组初始化与vector切片

c++初始化vector数组?

c++ 二维vector的初始化及构造