Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Создать exe, запускающий exe https://www.cyberforum.ru/ cpp/ thread446459.html
Говорю сразу: я ничего не смыслю в програмировании; зачем подался на такой форум? Надеюсь получить ответ на свой вопрос,упавая на то, что его реализация не такая сложная. У меня возникла потребность, создать exe файл, который запускает другую программу. То есть: просто тупо играет роль посредника. Другими словами: что-то наподобие ярлыка, только exe , а не lnk. Существует ли решение...
Странное поведение bool C++
Помогал отлаживать код и мы наткнулись на удивительное. Кодер скрыл отображение варнингов в VS2010. Метод М1 не всегда возвращал значение типа bool. И потому в методе М2, вызывающем метод М1, случилась такая ситуация, что: M1()!=true & M1()!=false Это нормальное поведение компилятора? Логика то понятна, но почему это вообще варнинг, а не еррор как в си шарпе?
C++ Как средствами BC 3,1 запросить свободное место на указанном жёстком диске? https://www.cyberforum.ru/ cpp/ thread444851.html
Извиняюсь, если создал лишнюю тему, но ничего по своей проблемке я вроде не заметил. Если что-то есть, поправьте. А вопрос в следующем: как средствами BC 3,1 запросить свободное место на указанном жёстком диске?
C++ Указания адреса функции Есть библиотека. Нужно чтобы функция в моей библиотеке указывала на функцию в чужой. Вот мой код: typedef int (WINAPI WJMP)(); extern "C" __declspec(dllexport) WJMP Test(void); *Test= GetProcAddress(hLib, "Test"); Ошибки 1. error C2091: функция возвращает функцию https://www.cyberforum.ru/ cpp/ thread444782.html
C++ Как аннулировать потоки, которые заблокированы по переменной условия (pthread)?
И никак, что ли не аннулировать, получается? Вот, допустим, есть несколько потоков которые заблокированы по переменной условия: pthread_mutex_lock (&mutex); if (!(mozno_idti)) { pthread_cond_wait(&cond, &mutex); } pthread_mutex_unlock (&mutex);
C++ Есть 4 потока. После осуществления блокировки барьером, 3 куда-то деваются, куда? (pthreads) https://www.cyberforum.ru/ cpp/ thread444183.html
Друзья! Как мог упростил код, вот суть В цикле создаются 4 вспомогательных потока, кадый из которых в цикле же 2 раза выводит свой TID. После первого вывода TIDа каждым потоком срабатывает блокировка барьером. Ну то есть свсе потоки по разу выведут свой TID и ждут друг друга. После того, как все собрались, в вызывающий поток отправляется сигнал типа:"Мы собрались" (потоки пока не двигаются)....
C++ Внедрение мультиплеера C++ Привет дорогие форумчане. Возникла задача сделать мультиплеер для игры(исходных кодов которой я не имею) . Разбил на задачки и вот одна из них. Первая задача это перемещение игроков. вот моя идея. Нужно получить координаты одного игрока(P1) (x,y,z) передать на сервер,сервер передает всем остальным игрокам координаты P1(x,y,z). с этим я разобрался. теперь вопрос в другом ,как обработать... https://www.cyberforum.ru/ cpp/ thread443994.html Графический интерфейс приложений на C? C++
Как сделать графический интерфейс приложения под Linux написанного на C?
C++ Ненулевая масса статического объекта в Box2D Собственно как реализовать сабж? https://www.cyberforum.ru/ cpp/ thread443746.html C++ callback функция https://www.cyberforum.ru/ cpp/ thread443741.html
Здраствуйте!!! Занимаюсь разработкой снифера под DVB-карту. Пытаюсь получить MPEG-поток. Проблема заключается в том, что необходимо фрагментировать поток. При вызове функции установки сигнала вызывается callback-функция, которая записывает поток в файл. Как досрочно выйти из callback-функции. Она полностью захватывает поток и его нельзя фрагментировать. Кто знает, напишите свои...
Использование C++ кода внутри программы на C: какие есть варианты? C++
Есть программа на C++, и в ней кое-какие нужные функции, которые хотелось бы использовать в программе на C. Переписывать заново функции с С++ на С не хочется, какие есть альтернативные пути решения? С точки зрения дизайна кода звучит это довольно дико, обычно всё наоборот. Может, есть какие-то флаги для линкера, чтобы он мог слинковать две единицы трансляции как надо?
C++ Язык С Кому не трудно! Тема: Оператор варианта Пожалуйста, кому не трудно. задание такое: По введенной дате вычислить день, который был 14 дней назад https://www.cyberforum.ru/ cpp/ thread442498.html
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
0

Про деструктор и утечку памяти - C++ - Ответ 2492790

15.02.2012, 18:04. Показов 1460. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток.
Вот что дано:
Symbols.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <string>
#include <vector>
 
class Symbols
{
protected:
    void add(std::string str); // добавления символа
    virtual void inputData() = 0; // заполнение вектора data нужными символами
    std::vector<std::string> data;
    
public:
    ~Symbols();
    
    std::string at(int i);
    
    static const int alpha  = 0;
    static const int beta   = 1;
};

Symbols.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "Symbols.h"
 
Symbols::~Symbols()
{
    data.clear(); // очищаем память
}
 
void Symbols::add(std::string str)
{
    data.push_back(str);
}
 
std::string Symbols::at(int i)
{
    return data.at(i);
}

SymbolsLaTeX.h
C++
1
2
3
4
5
6
7
8
9
#include "Symbols.h"
 
class SymbolsLaTeX: public Symbols
{
protected:
    void inputData();
public:
    SymbolsLaTeX();
};

SymbolsLaTeX.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "SymbolsLaTeX.h"
 
SymbolsLaTeX::SymbolsLaTeX()
{
    inputData(); // сразу-же заполняем массив
}
 
void SymbolsLaTeX::inputData()
{
    add("\\alpha");
    add("\\beta");
}

main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "SymbolsLaTeX.h"
#include <iostream>
 
using std::cout;
using std::endl;
 
int main()
{
    Symbols* sym = new SymbolsLaTeX();
    
    cout << sym->at(Symbols::beta) << endl;
    delete sym; // по идеевызывается деструктор ~Symbols
}

Кратко: каждый наследник класса Symbols отличается содержимым data (у нас только один наследник - SymbolsLaTex). Процедура inputData заполняет этот массив, вызывается только 1 раз в конструкторе наследника.
Вопрос 1: если НЕ пытаться переопределить деструктор ~Symbols, то всегда ли (по теории) будет вызываться этот же деструктор?
Вопрос 2: если деструктор успешно вызывается, то останится ли член data в памяти? Или по другому, будет ли утечка памяти?

Вернуться к обсуждению:
Про деструктор и утечку памяти C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2012, 18:04
Готовые ответы и решения:

Найти утечку памяти
Приветствую всех! Много раз слышал, что с помощью CodeGuard можно проверить есть ли в приложении...

Изолировать утечку памяти
Есть давний проект. В нем есть утечка памяти. Разобраться с самой утечкой - долго, там, судя по...

Как найти утечку памяти?
Не могу найти утечку памяти( Может ли кто-то помочь? TDateTime df1; String ss1 =...

Как найти и устранить утечку памяти
Программа в ходе ее выполнения разрастается. Я не могу найти где именно происходит утечка. В Unit1...

4
15.02.2012, 18:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2012, 18:04
Помогаю со студенческими работами здесь

Как победить утечку памяти? DDE
Мне нужно получить данные от DDE сервера. Где-то на 16000 проходе цикла, я получаю кракозябры....

Про утечку памяти, new, delete и функции, возвращающие указатель на структуру
О как тему назвал! Очередной вопрос от новичка. Допустим, есть код. #include &lt;cstdio&gt;...

Выделение памяти, проверка на утечку памяти
Интересуют два вопроса: 1. Правильно ли устроен алгоритм выделения, удаление и запись ячейки...

Проверка на утечку памяти
Всем доброго времени суток. Сразу оговорюсь, я не профессионал, программирование - моё хобби,...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru