Örneğin, operatör+(...) olarak adlandırılan referanslar arasında toplama operatörü uygulanabilir. İşaretçilerin eklenmesi anlamsızdır, çünkü pratik uygulaması olmayan bir sayı elde edeceğiz.
voidOnStart ()
{
A *a = new A;
if ( a == a ) Print ( "1" ); //сравнение указателей как чиселif ( a >> a ) Print ( "3" ); //вызывается operator<<( A *)
}
İşaretçileri yalnızca özel bir işlevle karşılaştırarak ortadan kaldırılması önerilen
voidOnStart ()
{
A *a = new A;
if ( isEqualPoiner( a, a ) ) Print ( "1" ); //сравнение указателей как чиселif ( a == a ) Print ( "2" ); //вызывается operator==( A *)if ( a >> a ) Print ( "3" ); //вызывается operator<<( A *)
}
İşaretçilerle hangi işlemler anlamsız değildir?
Şimdi bu yapıldı (nesneler için aşırı yüklendi) ve her şey yolunda görünüyor. Ama anlamlı olanlar (== ve !=) ile geri kalanı arasında bir çelişki var.
kadarıyla
İşaretçileri yalnızca özel bir işlevle karşılaştırarak ortadan kaldırılması önerilen
İşaretçileri karşılaştırmak için özel bir işlev şöyle yazılabilir.
Size anlamsız bir sorum var. Çalışmanı paylaşır mısın?
Şablonları ve makroları aktif olarak ve sürekli kullanan birkaç kişiden birisiniz. Ve muhtemelen büyük miktarda birikmiş kodunuz var.
Başkasını bilmem ama kodunuzu ve çalışmanızı görmek benim için çok ilginç olurdu, eğer varsa, halka yayınlamaktan çekinmeyeceksiniz.
Bilmiyorum... kalıpların uygulanması, göstergelerle çalışmak için özel sarmalayıcılar, çizelgeler, her neyse...
Şablonları nasıl kullanırım? - Kaydı kısaltmak için. Örneğin, MQL'devirgül işlemi yoktur. Diyelim ki bir rekor var
sonra bir desene sahip olmaktemplate <typename T 1, typename T 2> T2 opComma( T1 expression, T2 assignment_expression ) { return ( assignment_expression ); }4 satır yerine elde ederiz - bir
Makroları nasıl kullanırım? - tekrar - rekoru kısaltmak için. Örneğin, MQL'de sınıf şablonu yoktur. Önemli değil - bir makro kullanın
daha sonra beyan etmek yeterli olacaktır.
datetime dt; MDT( dt_struct, dt )Örneğin, birkaç tür aynı anda katılabileceğinden, şablonlar aracılığıyla bit düzeyinde kopyalama uyguluyorum