LINUX.ORG.RU

История изменений

Исправление hibou, (текущая версия) :

В Свифте, кстати, тоже засада с конст, не конст. Там ещё надо помнить, что некоторые типы данных - ссылочные, а некоторые - по значению. Отсюда поведение при конст разное.

Пример:


struct a {
   var b = 0 
} 

class c {
   public var b = 0 
} 

func SomeFunc() {
   let d:a
   let e:c

   // нельзя, константный объект, 
   // структуры передаются по значению 
   d.b = 1
   

   // можно, константная только ссылка 
   e.b = 1
}

Исходная версия hibou, :

В Свифте, кстати, тоже засада с конст, не конст. Там ещё надо помнить, что некоторые типы данных - ссылочные, а некоторые - по значению. Отсюда поведение при конст разное.

Пример:


struct a {
   var b = 0 
} 

class c {
   public var b = 0 
} 

func SomeFunc() {
   let d:a
   let e:c

   // нельзя, константный объект, 
   // структуры передаются по значению 
   d.b = 1
   

   // можно, константная только ссылка 
   e.b = 1