在类和C++性能状态中使用外部结构



我在一个示例项目中看到了下面的代码。关于我所拥有的书的内容,我找不到一个令人满意的答案。我对此有几个问题。

在struct中的first_name和last_name变量中指定与使用外部结构

如果有数百万张唱片,就性能而言,你更喜欢哪一张,应该是哪一张

或者有朋友可以分享有关C++技巧和义务的信息吗

非常感谢所有花时间回答的人

struct Name
{
string    first_name;    // Name
string    last_name;     // Last Name
};

class CPerson
{
protected:
Name m_name;                    // Struct
public:
void                SetName(string n);
string          GetName(){  return(m_name.first_name+" "+m_name.last_name); }
private:
string          GetFirstName(string full_name);
string          GetLastName(string full_name);
};
void CPerson::SetName(string n)
{
m_name.first_name           =       GetFirstName(n);
m_name.last_name            =       GetLastName(n);
}
string CPerson::GetFirstName(string full_name)
{
int     pos                     =       StringFind(full_name," ");
if(pos>0)       StringSetCharacter(full_name,pos,0);
return(full_name);
}
string CPerson::GetLastName(string full_name)
{
string  ret_string;
int     pos                     =       StringFind(full_name," ");
if(pos>0) ret_string=StringSubstr(full_name,pos+1);
else ret_string         =       full_name;
return(ret_string);
}

没有区别,因为这个变量的使用是在编译时解决的。如果你使用struct,那就由你决定了,如果你在某个地方同时使用first_namelast_name,那么使用struct可能会更容易,也更可读。

最新更新