const не нужен?
От: gear nuke  
Дата: 01.05.08 20:35
Оценка: +1
Здравствуйте. Видать весеннее обострение хотя мысли такие уже давно появляются, но не выдерживают одиночества...

Смотрю на все эти T&&, constexpr и тп новые фенечки, и кажется, что нужно не добавлять это, а просто... убрать const из языка.

int i = 0; // value
mutable int i;

struct foo; // mutable public class foo


#pragma cpp2003 // legacy code

Сразу предупреждаю — на многие вопросы я еще не знаю ответа

Не хороните сразу в философии, в первую очередь интересно мнение тех, кто возможно будет писать на таком языке
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re: const не нужен?
От: Roman Odaisky Украина  
Дата: 01.05.08 21:27
Оценка:
Здравствуйте, gear nuke, Вы писали:

GN>кажется, что нужно... убрать const из языка.


Т. е., const по умолчанию?

Да, это нужно было сделать. И this должен был быть ссылкой.

Нет, в C++ это не будет сделано никогда.
До последнего не верил в пирамиду Лебедева.
Re: Сахар
От: Roman Odaisky Украина  
Дата: 01.05.08 21:32
Оценка:
А вот что бы сильно хотелось:
using(X x = getSomeX())
{
    . . .
}

в качестве аналога этого:
{ X x = getSomeX(); {
    . . .
} }

и
mutable(X const x)
{
    x.setSomething();
}
y = x.getSomething();

в качестве аналога этого:
X _x;
_x.setSomething();
X const& x = _x;
y = x.getSomething();
До последнего не верил в пирамиду Лебедева.
Re[2]: const не нужен?
От: gear nuke  
Дата: 02.05.08 04:44
Оценка:
Здравствуйте, Roman Odaisky, Вы писали:

RO>Т. е., const по умолчанию?


Даже с замашкой на constexpr. Когда в школе меня учили бейсуку, я думал что функциональные языки — это С

Наш ответ Чемберлену:
for ( int i =n; i; --i ) // рекурсивный вызов анонимной функции :)))
{
  ++i; // error
}


RO>Да, это нужно было сделать. И this должен был быть ссылкой.


RO>Нет, в C++ это не будет сделано никогда.


Да я догадываюсь. Хотя, это противоречит идеологии С++ платить только за используемое. Для некоторых class генерится ужасный код, тот же std::vector можно разместить в 3х регистрах, а порой и меньше...

И делать так хочется сейчас:
  std::vector<std::unique_ptr<int> > v;
  v.push_back(std::unique_ptr<int>( new int ));

Но велдосипеды не хочется.
Поэтому написал вот такую бредятину Re[2]: unique_ptr
Автор: gear nuke
Дата: 02.05.08
(хм, c throw() надо поступить так же?)
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.