Обновить
58

Пользователь

22
Подписчики
Отправить сообщение
Здесь идеально подойдет слово "авось" :)
Словарь Ожегова такое слово знает.
У меня страница 610, 4-е слово сверху
Проецировать - произвести (-водить) проекцию. сов. также спроецировать.
Ну вообще тоже вариант, только смысл другой.
Но само предложение верное.
Тогда уж have you sent.
Может они не за линуксом и идут? Раз не добралась ни одна.
А мне симпатична точка зрения:
* Добро всегда побеждает зло, потому что то, что победило, и есть добро (с) не помню
И по аналогии уже свое
* В мире царит справедливость, просто потому что то, как сейчас устроен мир - это и есть справедливость
Как-то так

Хотя я не слишком копался, насколько может быть такая точка зрения верна, но по крайней мере по ней можно-таки определить, что есть добро и справедливость, а то обычно у каждого свои понятия.
только Visual Assist X
А вы уже дожили.
Или телевизор и компьютер по каким-то критериям для вас считаются менее "страшными" девайсами? По каким?
Я думаю, что его :)
Я сам то же самое подумал.
И за что минус?
"Теин — устаревшее название кофеина, входящего в состав чая"
Смотря что понимать под чаем. Если теин, то это и есть кофеин, называется только иначе.
Чтобы уж своей практикой выпендриться, вы бы ещё написали, что сейчас под экстази называют не МДМА, а смесь разных веществ, лишь бы в таблетках. Там МДМА может вообще не быть, ага.
Видимо не так поняли друг друга.
В вашем коде с IntVector будет копирование после возврата из функции gen().
Такие тривиальные случаи, в прицнипе, компилятор сможет оптимизировать, но не всегда.
В случае же с rvalue ссылкой мы точно знаем, что переданный объект - временный, его можно безболезненно менять и убивать. Т.е., вектор просто в этом конструкторе напишет:

vector(vector && other) { swap(other); }

Т.е. обойдёмся только заменой пары указателей, вместо копирования.
Сейчас приходится полагаться на компилятор, который должен догадаться, что переменная временная, что ей инициализуется объект и т.п., в сложных случаях он и этого не сможет, поэтому часто делают так, как я написал в предыдущем посте третьим куском кода.
А я и не говорил, что это плохо. Наоборот, не в меньшей степени и по этой причине нужны улучшения. Мало ли чего ещё полезного придумают :)
Ну да, в принципе, их для таких ситуаций и придумали, хотя есть и другие случаи.
Но в любом случае, как Страуструп сам говорил (или не он?), что язык используют далеко не всегда так, как задумывал создатель. Мало ли, для чего их ещё могут применить, но даже такое знание, что объект временный и его можно убить - очень полезно, по-моему.
М-да. В школе никогда бы не написал "покапаться". Мне стыдно.
> Насчёт rvalue тоже непонятно, зачем? Есть же shared_ptr, который даст в случае чего тот же результат.

Т.е. вы предлагаете вместо:

std::vector<int> gen() { ... }

std::vector<int> x = gen();

Писать:

boost::shared_ptr<std::vector<int> > gen() { ... }

boost::shared_ptr<std::vector<int> > x = gen();

?

Или так:

void gen(std::vector<int> & x) { ... }

std::vector<int> x;
gen(x);


Второй вариант бессмысленный, а третий используют сейчас. Но согласитесь, что первый выглядит куда лучше. Более того, если покапаться, можно найти другие примеры, где третий вариант не подойдёт (в каких-нибудь шаблонных ситуациях, когда различить, какой вариант сработает - сложно, или невозможно, или если нет конструктора по умолчанию и т.п.)
А вы чётче формулируете, а то понять можно по-разному.
Но почему-то огромное число людей понимают, а вы не понимаете.
List comprehensions рулят уже очень давно.
Их упростили для понимания, адаптировали под .Net и добавили :)
Возможности же, действительно очень большие.
Поставил бы плюс, если б мог :)
Тоже нравится область, но вот Майндстормс какой-то уж слишком ограниченный... Хотя для начала, мб, и этого хватит, поиграться.

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность