D операторы, которых нет в C ++ - PullRequest
14 голосов
/ 22 апреля 2010

Есть ли в D операторы, которых нет в C ++?

Ответы [ 4 ]

6 голосов
/ 22 апреля 2010

Вот список некоторых D токенов

/=
.
..
...
&
&=
&&
|
|=
||
-
-=
--
+
+=
++
<
<=
<<
<<=
<>
<>=
>
>=
>>=
>>>=
>>
>>>
!
!=
!<>
!<>=
!<
!<=
!>
!>=
(
)
[
]
{
}
?
,
;
:
$
=
==
*
*=
%
%=
^
^=
~
~=

Те, например:

<>
<>=
!<>
!<>=
!<
!<=
!>
!>=

- специальные операторы для сравнения переменных с плавающей запятой. Описание их можно найти здесь http://www.digitalmars.com/d/1.0/expression.html

Есть также

is 
!is
in
!in
typeof

операторы.

5 голосов
/ 22 апреля 2010
  • ^^ и ^^= для возведения в степень
  • ~ и ~= для объединения
  • >>> и >>>= для сдвига со знаком (или без знака)
3 голосов
/ 22 апреля 2010

Как и в opApply Sadface, также есть opCall для перегрузки при использовании (), что полезно в структурах. На самом деле на странице Operator Overloading есть ряд таких:

opIndex
opIndexAssign
opSlice
opSliceAssign
opDispatch -- Rather interesting addition in D2
3 голосов
/ 22 апреля 2010

Я долгое время не программировал D, но я думаю, что он имеет opApply для использования в foreach - я не знаю, считаете ли вы его оператором, но это точно задокументировано так: )

...