Ошибки, баги, вопросы - страница 2418

 
Slava:

Передача параметра по ссылке предполагает наличие переменной, распределённой в памяти.

Константы же нигде не хранятся, а используются непосредственно.

и что вам мешает создать временную переменную?
 
TheXpert:
и что вам мешает создать временную переменную?

Так и делаю. Зачем за меня это должны делать разработчики - не понимаю.

 
fxsaber:

Так и делаю. Зачем за меня это должны делать разработчики - не понимаю.

Для того, чтобы жизнь стала проще, а хеллоу ворлд не превращался в портянку? Ещё можно не признавать автогенерацию конструкторов/операторов=.
 
fxsaber:

Так и делаю. Зачем за меня это должны делать разработчики - не понимаю.

как хорошо что создатели других языков менее категоричны по этому поводу
 
TheXpert:
как хорошо что создатели других языков менее категоричны по этому поводу

Никакой категоричности. Просто не хотелось бы, чтобы на решение подобной фигни, тратились ресурсы, которых и так не хватает на своевременное закрытие даже багов. Не говоря уже про новый функционал. От анонсов до бета-релизов стало проходить очень много времени. А уж до вылизывания бета-релизов - еще столько же. И не без назойливой помощи форумчан.


Поэтому такие темы воспринимаются, как докопаться до фигни. Когда столько более серьезных вещей не сделаны.

 
fxsaber:

Поэтому такие темы воспринимаются, как докопаться до фигни. Когда столько более серьезных вещей не сделаны.

у каждого свои приоритеты.

 

Передача параметра по ссылке предполагает, что некое значение будет положено в соответствующую переменную с тем, чтобы использовать это значение в дальнейшем, после вызова функции.

Как использовать временную переменную, если она не является результатом выражения?

 
Slava:

Передача параметра по ссылке предполагает, что некое значение будет положено в соответствующую переменную с тем, чтобы использовать это значение в дальнейшем, после вызова функции.

Как использовать временную переменную, если она не является результатом выражения?

Ну это всё тонкости. В плюсах ведь сделали. Для prvalue происходит temporary materialization. Кстати, так ведь тоже нельзя

int get();
void fn(const int &);

fn(get()); // error
 
Igor Zakharov:

Вероятнее всего это момент, когда добавляет ещё один символ (почему не все 5 с начала теста?):

Запросите данные по всем инструментам в OnInit, они сразу подгрузятся.

 
Slava:

Передача параметра по ссылке предполагает, что некое значение будет положено в соответствующую переменную с тем, чтобы использовать это значение в дальнейшем, после вызова функции.

Как использовать временную переменную, если она не является результатом выражения?

Как вы смотрите на то, чтобы добавить в язык возможность передачи аргумента как r-value?   Это сразу решит все вопросы и позволит создавать универсальные контейнеры для любых типов.  Вот в частности указанный выше метод  будет перегружен для r-value:

void push_back(const T &value);
void push_back(const T&&value);

Именно так и реализовано во всех STL-контейнерах.

И второй плюс:  это позволит задавать конструкторы перемещения.  Сейчас этого тоже очень не хватает, в частности для реализации умных указателей unique_ptr и прочих классов, призванных монопольно хранить внутри себя некий уникальный ресурс,  т.е. обычные конструкторы копирования для них неприемлемы.

Причина обращения: