我是一个相对较新的C++编程,但我是一个10年的C程序员,因此对指向对象的指针比对对象的引用更为舒服.
我正在写一个纸牌游戏 - 这个设计不安全吗?有没有更好的办法?
无论如何,我有一节课SolitaireGame:
class SolitaireGame:
{
public:
SolitaireGame( int numsuits = 1 );
private:
Deck * _deck;
vector<Card> _shoe;
};
Run Code Online (Sandbox Code Playgroud)
在Deck被这样定义:
class Deck:
{
public:
Deck::Deck( vector<Card>& shoe );
~Deck();
int DealsLeft() const { return deals_left; }
Card * PullCard();
private:
int deals_left;
int num_each_deal;
deque<Card *> _cards;
};
Run Code Online (Sandbox Code Playgroud)
的Deck构造,花费的向量的参考Card对象(鞋,通常104卡)并按下指针到每个卡到它自己的指针的双端队列.
Deck::Deck( vector<Card>& shoe )
{
vector<Card>::iterator iter = shoe.begin();
while( iter != shoe.end() )
{
_cards.push_front( &(*iter) );
iter++;
} …Run Code Online (Sandbox Code Playgroud)