簡體   English   中英

指向struct成員變量的指針

[英]pointer to member variable of struct

class Main
{
  Struct BranchSub
  {
    Sub()
    {
      subName[0] = '\0';
    }
    char subName[20];
  };

  struct MainSub
  {
  Sub sub[20];
  };
};

我想有一個方法,當subName與給定的文本匹配時,該方法將返回指針subName 例如:

MainSub test;
if(strcmp(test.BranchSub[5].subName, "Hello") == 0);//return pointer to `test.Branchsub[5].subName`

可能嗎?? 還是有其他方法可以達到預期的效果?

是的,可以使用test.BranchSub[5].subName

對於問題的第二部分,應使用std::string

class Main
{
  struct BranchSub
  {
    std::string subName;
  };

  struct MainSub
  {
    BranchSub sub[20];
  };
};

接着

MainSub test;
if(test.sub[5].subName == "Hello")

更清楚。

您甚至可以使用std::vector<BranchSub>代替BranchSub sub[20]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM