Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 直接访问结构的元素_C++_Arrays_Struct_Overloading - Fatal编程技术网

C++ 直接访问结构的元素

C++ 直接访问结构的元素,c++,arrays,struct,overloading,C++,Arrays,Struct,Overloading,有没有可能让一个结构模仿它的一个元素?例如: struct example_struct { double x[2]; double operator[](int i){return x[i];}; } struct example_struct var; 现在,假设var.x以某种方式被初始化,像std::cout这样的表达式需要返回一个引用,而不是一个副本才能使var[1]=3工作 struct example_struct { double x[2]; double&

有没有可能让一个结构模仿它的一个元素?例如:

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

现在,假设
var.x
以某种方式被初始化,像
std::cout这样的表达式需要返回一个引用,而不是一个副本才能使
var[1]=3
工作

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

要使
var[1]=3
正常工作,您需要返回引用,而不是副本

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

将您的返回类型设置为double&
,并找到一个
结构示例\u结构变量
是C。这里不需要struct。将返回类型设置为double&并找到一个
struct-example\u-struct-var是C。这里不需要struct。