class A
{
public:
virtualint f() const { return(1); }
};
class B : public A
{
public:
virtualint f() const { return(2); }
};
template <typename T>
int g( T Ptr )
{
int Res = 0;
for (int i = 0; i < 1 e6; i++)
Res += Ptr.f();
return(Res);
}
#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279voidOnStart()
{
A* Ptr = new B;
_B(g(Ptr), 1); // 3600 mcs.
_B(g((B*)Ptr), 1); // 2440 mcs.delete Ptr;
}
你好。
几年来,我一直在看同一张照片,我以为我会习惯它,但我不会!这个错误非常烦人!我不知道该怎么办。
当部分平仓时,在图表上不正确地显示交易历史的错误!
看起来很不符合逻辑,请在下次更新中解决这个问题。
提前感谢!
我也曾经写过这个问题...
在KB上分享一些有趣的东西。
在这里,你去,如约而至:https://www.mql5.com/ru/code/33898
请解释为什么第二个方案比第一个方案快?
大家好!刚开始从YouTube视频的例子中学习如何写一个简单的交易机器人。 我想写一个脚本来打开第一个买入订单,而且必须在我没有其他未结订单的情况下打开,脚本是这样写的,但订单没有打开,请告知是什么错误!我想知道,我是怎么做到的?
***
1.你必须正确粘贴代码(使用按钮 )。
2.对于新手来说,有一些特殊的主题(对于旧的终端--初学者的问题MQL4 MT4 MetaTrader 4,对于MQL5--初学者的问题MQL5 MT5 MetaTrader 5)。
鉴于函数完全是空的,差别很小,不可能是关键的。
我想了解一下,当虚拟化发生时,有哪些额外的计算?
我想了解,当使用虚拟性时,要做哪些额外的计算?
第二个人没有后代。
在第二种情况下,没有后裔,所以很可能编译器已经删除了虚拟,结果它只是一个函数。
我想了解用虚拟性做了哪些额外的计算?
第二个变体被完全优化为对一个通常的函数的调用,包括常数的分布。
由于代码的极端简单性和完全退化性,无法从这个例子中得出结论。
1.你能告诉我,最大的StringLen 字符长度是多少?在MT5 的MetaQuotes中 ,我 发现一个最长9个字符的符号:Coffee_Z0。但其上的交易被禁止。因此,第二个问题随之而来。
2.我在哪里可以使用stringLen!=6个符号在MT5 的模拟账户上测试?尽管我怀疑这种符号实际上是不相关的。
1.你能告诉我,最大的StringLen 字符长度是多少?在MT5 的MetaQuotes中 ,我 发现一个最长9个字符的符号:Coffee_Z0。但其上的交易被禁止。因此,第二个问题随之而来。
2.我在哪里可以使用stringLen!=6个符号在MT5 的模拟账户上测试?尽管我怀疑这种符号实际上是不相关的。
SBRF-3.21或甚至GOLD-12.21都是相关的。