Есть ли какие-либо операторы в D, которые не находятся в C++?
Вот список некоторых D-токенов
/=
.
..
...
&
&=
&&
|
|=
||
-
-=
--
+
+=
++
<
<=
<<
<<=
<>
<>=
>
>=
>>=
>>>=
>>
>>>
!
!=
!<>
!<>=
!<
!<=
!>
!>=
(
)
[
]
{
}
?
,
;
:
$
=
==
*
*=
%
%=
^
^=
~
~=
Например:
<>
<>=
!<>
!<>=
!<
!<=
!>
!>=
- это специальные операторы для сравнения переменных с плавающей запятой. Их описание можно найти здесь http://www.digitalmars.com/d/1.0/expression.html
Также есть операторы
is
!is
in
!in
typeof
.
Подобно opApply от Sadface, существует также opCall для перегрузки при использовании (), что полезно в структурах. Фактически на странице Operator Overloading есть несколько из них:
opIndex
opIndexAssign
opSlice
opSliceAssign
opDispatch -- Rather interesting addition in D2
^^
и ^^ =
для возведения в степень ~
и ~ =
] для конкатенации >>>
и >>> =
для знакового (или беззнакового) сдвига битов Я давно не программировал D, но думаю, что у него есть opApply
для использования в foreach
- я не знаю, считаете ли вы это оператором, но это точно задокументировано:)