Что такое функции области видимости в Dlang?

Из https://github.com/MartinNowak/io/blob/master/src/std/io/package.d:

size_t write(const scope ubyte[] buf) scope;

Что означает второе ключевое слово scope?


person porton    schedule 05.01.2019    source источник


Ответы (1)


Он применяет квалификатор scope к скрытому параметру this.

Вообще говоря, любое ключевое слово после функции применяется к this, но в остальном имеет тот же результат, что и для любого другого параметра. Например, const в конце означает, что ссылка this — это const.

person Adam D. Ruppe    schedule 05.01.2019