如果(b)是一个对象,那么在现有的GetPointer( b )基础上增加的功能(&b)就很明显了--它使语法更接近于C++。
如果(a)是一个指针,那么在现有的(a)基础上增加的特征(*a)可能会给出一个合理的折衷方案
class A {
booloperator==(A *);
A *operator<<(A *);
A *operator>>(A *);
};
void f()
{
A *a = new A();
if ( a == a ); //сравнение указателейif ( *a == *a ); //вызов operator==(A *)
a << a >> a; //вызов operator<<(A *) и operator>>(A *)
*a << *a; //вызов operator<<(A *)
}
class A {
public:
A( int a ) {}
};
void g( int a ) { Print( a ); }
int f( int a )
{
A a( 15 );
g( uint( a ));
return ( 8 );
}
voidOnStart()
{
Print( f( 5 ));
}
只采用(*a)来指代成员函数并没有带来任何明显的优势,反而导致不可能简单清晰地多次应用运算符。
考虑到你的建议,试着重写它
你不能用对象本身代替指针,因为操作者<<(...)只能返回一个对象的指针。
你一定是误解了我的意思,我并不是说要禁用当前的实现。 我要求额外地 使获取一个对象的引用或指针成为可能,这样你就不会依赖于编译器的随意性。而我将决定在每种情况下做什么。 如果我需要一个超级可靠的程序,我可以很容易地按照你描述的方式做。 是的,这很复杂。但如果元引号突然为指针引入<<操作符的特殊动作,我们就不会害怕了。
我并没有说要禁止目前的实现,我要求增加 一种可能性,即接受一个对象的引用或指针,以便不依赖于编译器的随意性。
如果(b)是一个对象,那么在现有的GetPointer( b )基础上增加的功能(&b)就很明显了--它使语法更接近于C++。
如果(a)是一个指针,那么在现有的(a)基础上增加的特征(*a)可能会给出一个合理的折衷方案
一方面,矛盾被消除了,另一方面,现有的秩序没有受到干扰编译器允许在同一范围内的参数和函数体中 有相同命名的变量
虽然产生了一个警告,但对于这样一个难以发现的错误(在一个大的代码中)是不够的。至少C++编译器在同样的情况下产生了同样的错误也许前面的错误的后果是,这个结构
导致执行错误:无效的EX5文件(8)。谁面对过它?如何解决,问题是什么?奥特克雷蒂经纪人。
当挂单的价格被拖动到一个新的水平时,SL/TP也随之改变。这可以被禁用吗?并不总是需要与价格同步移动SL/TP。
你如何看待这个问题?我是这样认为的。
如果你按住Ctrl 键,挂单就会随着SL/TP一起移动。如果你不按Ctrl键,它就会像现在这样移动。
还要注意的是,在终端设置 中,只有在按住Alt 时才能设置交易水平的管理。然后,你应该按Ctrl+Alt 进行上述的互动。
你如何看待这个问题?我是这样认为的。
如果你按住Ctrl 键,挂单就会随着SL/TP一起移动。如果你不按Ctrl键,它就会像现在这样移动。
还要注意的是,在终端设置 中,只有在按住Alt 时才能设置交易水平的管理。然后对于上述的互动,按Ctrl+Alt。
这是否来自于文件?我读过关于Alt的文章,也用过它,但没有读过Ctrl。
当挂单的价格被拖动到一个新的水平,SL/TP也随之改变。有什么办法可以禁用它吗?SL/TP不应该总是与价格同步移动。