Alexey Navoykov: const здесь распространяется лишь на указатель, а не на объект по этому указателю
class A { public:
voidoperator[]( int i ) {} // const отсутствует
};
class B { public:
const A *a; // к чему относится здесь const?
B(){a = new A; // явно не к указателю - нет ошибки
a[0];} //логично: 'operator[]' - call non-const method for constant object
~B() { delete a; }
};
class A { public:
voidoperator[]( int i ) const {} // const добавил
};
class B { public:
B() : a( new A ) {}
~B() { delete a; }
A *a;
void f() const { a.operator[]( 0 ); } // нет ошибкиvoid g() const { a[ 0 ]; } // нет ошибки
};
我很想学习,但谷歌不明白我哪里错了。你能总结一下我的误解吗?我在你的例子中的 "正常 "行看到一个编译器错误。在我看来,编译器应该指责它。
const在这里只指指针,而不是指这个指针的对象。
我知道你的意思。但我认为这其中一定有一个错误。
如果不是MQL5,我们将不得不写这样的东西
然后就会有问题了。但这是MQL5。万无一失的代码是合理的,IMHO。
Alexey Navoykov:
const здесь распространяется лишь на указатель, а не на объект по этому указателю
在我的收藏夹中,我有几个账户在A队的终端。我想逐一连接这些账户并检索所需信息。
有没有人通过WinAPI进行这样的连接?请分享,请分享。
我正在寻找对该符号具有最佳演示价格的经纪人。这个想法是这样的
在MQL5中 没有恒定的指针!
你被正确地告知:研究数学。 在你的例子中,它是一个指向常数对象的指针,而不是一个常数指针。
那么你认为恒定的指针在哪里呢!?