Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing"
La nuova Insta360 X6 introduce sensori Sony da 1/1.1" e un SoC Triple AI a 4nm. Analizziamo le riprese 8K, il primo Dolby Vision nativo a 10-bit nel settore sferico e l'innovativo flusso di lavoro diretto sulla futura versione 22 di DaVinci Resolve.
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli
Dopo due settimane trascorse al volante della Dacia Spring 2026 possiamo raccontarvi tutto, dalle novità di motore e batteria, fino ai consumi in tutti le situazioni, compresa l'autonomia reale ad alta velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-02-2007, 20:09   #1
ercand
Member
 
Iscritto dal: Sep 2004
Messaggi: 216
[C++] Memory leaks con i <vector>

Vi scrivo il codice delle varie classei

Codice:
#include <Windows.h>
#include <vector>
#include <crtdbg.h>


#include "classe_a.h"



using namespace std;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd )
{
	_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );


	PtrA->Init();
	int h;
	h=0;
	return h;
}

Codice:
//File classe_a.h

class ClasseA
{
    public:
	ClasseA();
	virtual void Init();
};

extern ClasseA*	PtrA;

//File classe_a.cpp
#include "classe_a.h"


ClasseA::ClasseA()
{

}

void ClasseA::Init()
{
	int fkf=0;
}
File
Codice:
//File classe_b.h
#include <Windows.h>
#include "classe_a.h"

class Bb: public ClasseA
{
    public:
	Bb();
	void Init();
};

//File classe_b.cpp
#include "classe_b.h"
#include <vector>
using namespace std;
ClasseA* PtrA = new Bb();

Bb::Bb():ClasseA()
{

}
void Bb::Init()
{
	vector<int> ss;
	ss.push_back(43);
	ss.clear();
}

Questo codice genera memory leak quando faccio ss.push_back(43);, perchè? i vector di int come possono generare memory leak ?

Aiuto .
ercand è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2007, 01:33   #2
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
ho dato una lettura veloce visto l'ora ma credo che tu non deallochi la classe che istanzi.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2007, 10:35   #3
jappilas
Senior Member
 
L'Avatar di jappilas
 
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
Quote:
Originariamente inviato da vizzz
ho dato una lettura veloce visto l'ora ma credo che tu non deallochi la classe che istanzi.
sì, c'è un new senza il corrispondente delete
posto che comunque nelle FAQ di stl e stlport si afferma che il distruttore della classe contenitore cerca di minimizzare allocazioni e deallocazioni consecutive...

a parte che quel codice mi sembra inutilmente contorto ... e ah, perchè questa riga di codice
ClasseA* PtrA = new Bb();
è "vagante" ?
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name
Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish
Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate

Ultima modifica di jappilas : 04-02-2007 alle 10:37.
jappilas è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2007, 15:09   #4
ercand
Member
 
Iscritto dal: Sep 2004
Messaggi: 216
Si avete ragione non ho fatto il delete della classe istanziata, comunque ho riportato male la classe_b
Codice:
//File classe_b.h
#include "classe_a.h"
#include <Windows.h>
#include <vector>
using namespace std;

class Bb: public ClasseA
{
    public:
	Bb();
	void Init();
	vector <int> ss;
};

//File classe_b.cpp
#include "classe_b.h"

ClasseA* PtrA = new Bb();

Bb::Bb():ClasseA()
{
}
void Bb::Init()
{
    ss.push_back(43);
}
esenguo questo codice mi da il messaggio
Codice:
Detected memory leaks!
Dumping objects ->
{241} normal block at 0x00366A98, 4 bytes long.
 Data: <+   > 2B 00 00 00 
Object dump complete.
The program '[1740] gtgtgtgt.exe: Native' has exited with code 0 (0x0).
che appare solo quando faccio il push_back()
ercand è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
Vogliono costruire un monumento per Elon...
Ring Intercom Audio crolla a 39,99€ su A...
La Francia blocca il divieto dei social ...
Trump citato in giudizio: chiesto lo sto...
PEC obbligatoria per revisione e passagg...
Il ripulitore di watermark Claude da 4.5...
Xiaomi 17 Ultra scambia il Sole per la L...
È arrivata la migliore e-bike Eng...
Apple Mac mini M4, ecco perché conviene ...
Robot aspirapolvere in offerta su Amazon...
Il nuovo pick-up elettrico di Ford &egra...
Google Pixel 11 arriva su Amazon: preord...
Mega sconti su attrezzi a batteria e rob...
Google Search dà per morto Sam Al...
Il noleggio delle GPU NVIDIA si quota in...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v