Класс хранения "in" D - PullRequest
6 голосов
/ 16 марта 2012

При использовании класса хранения in в D данные являются неизменными для вашей функции. Это также передает данные по ссылке, а не по значению? Я заметил, что in ref недействительно.

Если in не передает данные по ссылке, есть ли способ получить данные по ссылке, но есть гарантия для вызывающей стороны, что данные не будут изменены?

Ответы [ 2 ]

7 голосов
/ 16 марта 2012

in параметры не передаются по ссылке .

Насколько я могу судить по документации , in это просто сокращение для const scope. Я не вижу способа эмулировать ref in параметры, поскольку ref scope недопустимо. Как сказала BCS, вы можете использовать ref const, если вам не нужен класс хранения scope.

2 голосов
/ 16 марта 2012

Я не проверял, но я считаю, ref const должно работать.

...