20 лет свирель, котомка

Jul 19, 2007 05:40

1. В библиотеке языка C++ eсть функция getline(istream&,std::string &), оченно полезная. Узнал о ее существовании только вчера.
2. Что напечатает следующая программа?
puzzle )

компьютеры

Leave a comment

Comments 25

dimrub July 19 2007, 10:02:44 UTC
> Программа печатает не вполне то что я ожидал, да.

А в чем именно расхождения?

Reply

Что у меня в кармашке? trurle July 19 2007, 10:07:05 UTC
Ну а что она по товему должна напечатать?

Reply

Re: Что у меня в кармашке? dimrub July 19 2007, 10:10:12 UTC
Именно то, что напечатала:

Complex created by constructor with args
Complex created by constructor with args
operator+(Complex&,Complex&)
Complex created by default constructor
Complex::operator+(float)
Complex created by default constructor

Reply

Re: Что у меня в кармашке? trurle July 19 2007, 10:11:27 UTC
А временный объект куда делся?

Reply


ak_47 July 19 2007, 17:00:34 UTC
Это называется Named Return Value Optimization (NRVO). Вот разбор полётов от Липпмана. Эта оптимизация также подробно обсуждается в его книге "Inside the C++ Object Model".

Reply


stas July 21 2007, 16:14:28 UTC
res.re = re+f;
res.im = im+f;

huh?

Reply

alexcohn July 22 2007, 07:19:10 UTC
Автор подразумевал *, конечно же.

Reply

spamsink August 2 2007, 17:34:27 UTC
Вот ыменно. Я думал, что ответ будет как раз об этом.

Reply


Leave a comment

Up