Форум программистов, компьютерный форум CyberForum.ru

"Анонимные" (временные) объекты? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив объектов класса http://www.cyberforum.ru/cpp-beginners/thread631783.html
class abc { public: int x,y; }; abc all; int main() { all.x=5; all.x=6;
C++ Пролетает cin >> Нужно заполнять вектор пока не введено 'x', потом сложить количество (введенное) первых элементов. После 'x' программа сразу завершается!!! . И еще вопрос как фильтровать ввод cin >> (число) от не числа. Спасибо!!! #include <iostream> #include <vector> using namespace std; int main() { vector<double> stream; http://www.cyberforum.ru/cpp-beginners/thread631775.html
C++ пишем свой троян с нуля
Всем привет)))соглашусь, что изобретаю велосипед, но хочется сделать все своими ручками не прибегая к open source и т.п. для повышения своего опыта в программировании на Visual C++ . Хочу, чтобы меня поставили на иснниный путь. Итак, цель - написание трояна, а именно кейлоггера) для получения пароля от vk.com. Погуглил , почитал мануалы парочку часов, узнал основные схемы проникновения троянов на...
C++ комманды с system("")
где можно найти описания всех комманд с system. пример system("PAUSE") или system("cls")
C++ Создайте двумерный массив целочисленный массив А[1..10], [1..7] и найдите сумму всех его элементов имеющие оба нечетные индексы. http://www.cyberforum.ru/cpp-beginners/thread631734.html
Создайте двумерный массив целочисленный массив А, и найдите сумму всех его элементов имеющие оба нечетные индексы. За ранее Благодарю
C++ Дан массив действительных чисел A[10]. Отсортировать по убыванию. Дан массив действительных чисел A. Отсортировать по убыванию. За ранее Благодарю подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
02.08.2012, 00:38     "Анонимные" (временные) объекты?
Посмотрел. [class.temporary]/3:
When an implementation introduces a temporary object of a class that has a non-trivial constructor (12.1, 12.8), it shall ensure that a constructor is called for the temporary object. Similarly, the destructor shall be called for a temporary with a non-trivial destructor (12.4). Temporary objects are destroyed as the last step in evaluating the full-expression (1.9) that (lexically) contains the point where they were created. This is true even if that evaluation ends in throwing an exception.
То есть в данном случае временный shared_ptr обязан удаляться после того, как заканчивается вычисления выражения, содержащего вызов функции. То есть гарантированно после того, как мы вернёмся из функции; не важно, нормальным образом или через исключение. Например, в случае
C++
1
foo(bar(std::shared_ptr<T>(new T(4, 2)).get()));
временный shared_ptr должен удаляться (соответственно, с деструктором, счётчиком ссылок и удалением хранимого T) или после возвращения значения функцией foo, или после того, как мы вылетим из неё из-за исключения.

Так что да, имеет право на жизнь. Ну, фактически, это тот самый точечный GC.
 
Текущее время: 08:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru