C++ program porada – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C++ program porada – C / C++ – Fórum – Programujte.comC++ program porada – C / C++ – Fórum – Programujte.com

 

23. 5. 2013   #1
-
0
-

zdravím lokálne premenné sa ukladajú do akej pamäti???

Nahlásit jako SPAM
IP: 95.103.53.–
crazy
~ Moderátor
+10
Grafoman
23. 5. 2013   #2
-
0
-

#1 limetka123
tzv. stack

btw. používáš Google před tím, než se ptáš? :)

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
23. 5. 2013   #3
-
0
-

často na haldě (angl. heap). Některé systémy haldu nemají, ty používají zásobník(stack). Použitím některých modifikátorů to lze změnit, např po použití modifikátoru register může být uložena v registru.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
crazy
~ Moderátor
+10
Grafoman
23. 5. 2013   #4
-
0
-

#3 hlucheucho
lokální proměnné se vytváří na stacku ne?

Nahlásit jako SPAM
IP: 147.32.31.–
All you need is vision and time.
23. 5. 2013   #5
-
0
-

#4 crazy
když pohledáš na netu, dostaneš různé odpovědi. mezi nimi i "kam je dá překladač" a "jaký má OS memory management".Co si pamatuju na starém fóru na builder.cz, tam všichni místní guru tvrdili, že na heapu. 

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Tom
~ Anonymní uživatel
434 příspěvků
23. 5. 2013   #6
-
0
-

Bude zalezet i na jazyku/platforme atp. Ale snad kazdy program v C++ na Win platforme, ktery sem videl, daval lokalni promene na stack.

Nahlásit jako SPAM
IP: 89.102.5.–
23. 5. 2013   #7
-
0
-

#2 crazy
predstav si že používam ... lenže tam mi vyhodilo viacero možností a chcel som vedieť ktorá je správna tak som sa pre istotu spýtal a som začiatočník .... a toto fórum slúži na pomoc.. tak prečo sa pre istotu nespýtať?? :D :D 

Nahlásit jako SPAM
IP: 95.103.53.–
Zabak640
Duch
25. 5. 2013   #8
-
0
-

Ahoj začínám s C++ a sem u 3. lekce a nejde mi udělat ten úkol napíšu toto:

#include <iostream>
using namespace std;
int main()
{
    for (int i=0; i<10; i++)
        cout << "Hi!\n";
    int jmeno;
    cin >> jmeno;
    char jmeno[0]; 
    cin.get ();
    cin.get ();
    return 0;
}

A píše mi to eror u toho charu nevíte co tam mám špatně???

Píše mi to: in function 'int main ()':

Nahlásit jako SPAM
IP: 94.113.48.–
KIIV
~ Moderátor
+43
God of flame
25. 5. 2013   #9
-
0
-

kdyby ses podival poradne na tu chybovou hlasku, kterou si sem nedal, tak to bude neco jako redefinice promenne jmeno...

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zabak640
Duch
25. 5. 2013   #10
-
0
-

#9 KIIV
a co stím nevíte?

ale dík

Nahlásit jako SPAM
IP: 94.113.48.–
25. 5. 2013   #11
-
0
-

volit jména pro proměnné tak aby každá měla unikátní jméno. Jaký smysl má alokovat pole s nulovou velikostí?

hu

Nahlásit jako SPAM
IP: 188.95.60.–
vitamin+8
Grafoman
25. 5. 2013   #12
-
0
-

#11 hlucheucho
Pole z nulovou velkostou sa pouziva vecsinou na tvorbu struktur s dynamickou velkostou (vecsinou C, nie C++). Nie je to ale v standarte, takze je na kompilatore ako to implementuje.

Samozrejme Zabak to pouzil zle (ak si nechcel poprepisovat stack)  :

Mozne pouzitie:

class X{
		size_t size;	//velkost dynamickej casti struktury
		char end[0];	//pointer end ukazuje na this+1 (zalezi ale od kompilatora) 
	
		X(size_t s):size(s){}
	public:
		static X* New(size_t s){	//trieda musy byt alokovana specialnym sposobom
			char* c = new char[sizeof(X) + s];
			new(c) X(s);
			return reinterpret_cast<X*>(c); 
		}
		char& at(size_t i){	//dynamicke udaje 
			if(i >= size)throw "error";
			return end[i];
		}
		void operator delete(void* ptr){	//kedze je trieda alokovana ako pole tak ju treba aj uvolnit ako pole
			delete[] reinterpret_cast<char*>(ptr);	
		}
};
Nahlásit jako SPAM
IP: 95.105.152.–
obfuscate: "The cruel god Malloc will strike you down. "
ZMeson: "That's the C god. C++ has a new god. "
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 20 hostů

Podobná vlákna

Program — založil Jan Burant

C# program — založil Tomas.P

Program — založil dakine

C# program — založil xpiii

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý