如何将值应用于结构内的字符串变量

How would apply a value to a string variable inside a struct?

本文关键字:字符串 变量 结构 应用于      更新时间:2023-10-16

我的结构如下:

struct Candidate { 
    float pertotal, voteper; 
    string name; 
    int voten, votem, votese, votesw, total;
};

我需要为名称分配一个空值。我试过:

struct Candidate { 
    float pertotal, voteper; 
    string name = 0; 
    int voten, votem, votese, votesw, total;
};

struct Candidate { 
    float pertotal, voteper; 
    string name = ""; 
    int voten, votem, votese, votesw, total;
};

但它似乎不喜欢它..想法?

Candidate是一个

类型,而不是一个实例

但是,您可以这样做:

Candidate cand;
cand.name = "";

或者,您可以编写一个构造函数:

struct Candidate {
    Candidate() : name("") {}
    ...
};

但是,在这种情况下,您不需要执行上述任一操作,因为 std::string 的默认构造函数会导致空字符串。

std::string默认构造为空,因此您无需执行任何操作。

但是,如果您需要在其中放置其他内容(当创建该类的对象时),则需要一个构造函数。

如果您已创建实例:

Candidate c;

并且您想将字符串设置回空字符串,只需分配给它:

c.name = "";