【问题标题】:Directly access element of a structure直接访问结构的元素
【发布时间】:2017-10-16 17:46:24
【问题描述】:

是否有可能使结构模仿其元素之一?示例:

struct example_struct
{
  double x[2];
  double operator[](int i){return x[i];};
}
struct example_struct var;

现在,假设 var.x 已经以某种方式被初始化,std::cout<<var[1]; 这样的表达式显然可以工作,但是我应该怎么做才能使 var[1]=3; 这样的表达式工作?

【问题讨论】:

标签: c++ arrays struct overloading


【解决方案1】:

您需要返回参考而不是副本,var[1]=3 才能正常工作。

struct example_struct
{
   double x[2];
   double& operator[](int i) return x[i];};
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 2012-03-06
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    相关资源
    最近更新 更多