LINUX.ORG.RU

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

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

Только такой вариант не будет работать.

<'a> - определение, &'a - использование

Лайфтаймов может быть сколько угодно, поэтому их нужно явно указывать.

После апострофа что-то кроме лайфтайма может быть? Если нет то и так понятно что a - это lifetime.

Или наоборот, если объявляем что a - это лайфтайм, то зачем апостроф? Это как если бы в плюсах везде писали typename перед параметром шаблона.

Намного проще читается? Я сомневаюсь.

Я чего-то подумал, а почему не писать как в си-образных языках тип слева от имени:

&a str longest<a>(&a str x , &a str y)  {

Без апострофов меньше шума.

typedef bool Fn() predicate;

bool stuff(predicate a_predicate)

Если писать справа, то шума больше - нужно двоеточие.

typedef Fn() bool  predicate;

stuff(predicate:  a_predicate) bool 

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

Только такой вариант не будет работать.

<'a> - определение, &'a - использование

Лайфтаймов может быть сколько угодно, поэтому их нужно явно указывать.

После апострофа что-то кроме лайфтайма может быть? Если нет то и так понятно что a - это lifetime.

Или наоборот, если объявляем что a - это лайфтайм, то зачем апостроф? Это как если бы в плюсах везде писали typename перед параметром шаблона.

Намного проще читается? Я сомневаюсь.

Я чего-то подумал, а почему не писать как в си-образных языках тип слева от имени:

&a str longest<a>(&a str x , &a str y)  {

Без апострофов меньше шума.

typedef bool Fn() predicate;

bool stuff(predicate a_predicate)

Если писать справа, то шума больше - нужно двоеточие.

typedef Fn() bool  predicate;

stuff(a_predicate: predicate ) bool