Я столкнулся с выражением с вызовом функции, а также с индексом массива в виде кода, упомянутого ниже. В этом случае инструкция s = o.init() [- 1] возвращает значение a1 [0]. Я не понимаю, как это работает, что будет делать это утверждение o.init() [- 1]? Я знаю, что 0.init() даст вызов функции, но что делает [-1] указывать? ? Помогите решить этот вопрос?Вызов функции с индексом массива
#include<iostream>
using namespace std;
class a
{
char a1[1000];
public:
a()
{
a1[0]='a';
}
char* init()
{
cout<<"value of a1 is"<<a1<<endl;
return a1+1;
}
};
int main()
{
a o;
char s;
s=o.init()[-1];
cout<<"value of s is"<<s<<endl;
}