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

Деструктор не вызывается - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка "неоднозначный вызов перегруженной функции" http://www.cyberforum.ru/cpp-beginners/thread699812.html
#include "stdafx.h" #include <iostream> #include <conio.h> #include "math.h" using namespace std; int count(int a,int b) { return a/pow(10,b-1)%10;
C++ Дана последовательность чисел а1, а2, ..., аn. Требуется переставить числа в порядке возрастания. Сортировка вставками. Дана последовательность чисел а1, а2, ..., аn. Требуется переставить числа в порядке возрастания. Делается это следующим образом. Пусть а1, а2, ..., аi —упорядоченная последовательность, т.е. a1 <= а2<= ... <= аi Берется следующее число ai+1 и вставляется в последовательность так, чтобы новая последовательность была также возрастающей. Процесс производится до тех пор, пока... http://www.cyberforum.ru/cpp-beginners/thread699804.html
C++ Определить кольцо с центром в начале координат, которое содержит все точки
В одномерном массиве с четным количеством элементов (2N) находятся координа-ты N точек плоскости. Они располагаются в следующем порядке: x1, y1, х2, у2, х3, у3, и т.д. Определить кольцо с центром в начале координат, которое содержит все точки.
Напечатать элементы массива в виде двух параллельных столбцов C++
В одномерном массиве размещены: в первых элементах значения аргумента, в сле-дующих — соответствующие им значения функции. Напечатать элементы этого массива в виде двух параллельных столбцов (аргумент и значения функции).
C++ Вывести каждое второе слова в котором больше 3 букв и меньше 3 гласных http://www.cyberforum.ru/cpp-beginners/thread699784.html
Нужно вывести каждое второе слово в котором больше трех букв при этом меньше 3 гласных. Я написал прогу которая выводит каждое слово в котором больше трех букв и меньше 3 гласных, но не могу сделать так что бы выводить только каждое второе такое слово. Помогите, плиз! #include <string> #include<conio.h> #include <iostream> int main (){ using namespace std;
C++ Определить, принадлежат ли точки прямой прямоугольнику Даны x1, x2, a, b, a, b, c, x, y – вещественные числа. Определить, принадлежат ли точки прямой ax+by+c=0 прямоугольнику с вершиной(левой верхней) (x1, y1), (x2, y2) и длинами сторон a, b. Каким образом можно реализовать? подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
16.11.2012, 22:15     Деструктор не вызывается
Он вызовется, когда отработают все ретурны. Когда вы делаете
C++
1
2
3
4
void InputData() {
    Foo bar;
    return InputData();
}
То вот у вас первая активация функции InputData(). Отрабатывает конструктор bar. Потом происходит вторая активация функции InputData() в процессе вычисления выражения с return. Там для этой второй активации опять конструктор bar и т. д. Но деструктор не вызывается, пока не закончится вычисление выражения с return, потому что ещё функция не закончила работу и bar не вышла из области видимости этой функции. Деструкторы вызовутся на обратном ходу рекурсии, когда будут пробрасываться значения обратно (ну, так как у вас void, то просто когда стек будет сворачиваться, когда рекурсия прервётся).
 
Текущее время: 13:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru