Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

C++0x i garbage collector

[es] :: C/C++ programiranje :: C++0x i garbage collector

Strane: 1 2

[ Pregleda: 5434 | Odgovora: 23 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
79.101.245.*



+2789 Profil

icon Re: C++0x i garbage collector23.12.2008. u 18:58 - pre 185 meseci
Pretpostavljam da "slobodan" znači "globalan", tj. da nije član nijedne klase, pošto RMS ima svoje shvatanje slobode.

Pa, vidiš, nije da ne trebaju statičke klase. Možeš ti takve stvari da potrpaš kao globalne. Ali đe je tu enkapsulacija? Statička klasa može da ima privatne atribute za koje je garantovano da se po njima ne prčka direktno, već samo preko interfejsa klase.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.microsoft.com.



+6 Profil

icon Re: C++0x i garbage collector23.12.2008. u 19:22 - pre 185 meseci
Citat:
Nedeljko: Pretpostavljam da "slobodan" znači "globalan",


Ne obavezno, slobodna funkcija može da bude i u nejmspejsu.

Citat:
Nedeljko:
tj. da nije član nijedne klase


E, to da.

Citat:
Nedeljko:
pošto RMS ima svoje shvatanje slobode.


Ima ga i Džoni Štulić

Citat:
Nedeljko:
Pa, vidiš, nije da ne trebaju statičke klase. Možeš ti takve stvari da potrpaš kao globalne. Ali đe je tu enkapsulacija? Statička klasa može da ima privatne atribute za koje je garantovano da se po njima ne prčka direktno, već samo preko interfejsa klase.


Anonimni nejmspejsovi, naravno. Tu ti je još bolja enkapsulacija jer se funkcije ne vide ni u heder fajlu. Pazi primer:

Code:

// primer.h :

namespace SvetliPrimer 
{
void MojaSvetlaFunkcija();
}

// primer.cpp

namespace
{
void MojaPrivatnaTamnaFunkcija1()
{...}
void MojaPrivatnaTamnaFunkcija2()
{...}
} // kraj anonimnog nejmspejsa

namespace SvetliPrimer 
{
void MojaSvetlaFunkcija()
{
  MojaPrivatnaTamnaFunkcija1();
  MojaPrivatnaTamnaFunkcija2();
}
}


 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.sbb.rs.



+2789 Profil

icon Re: C++0x i garbage collector24.12.2008. u 07:58 - pre 185 meseci
Za mene je globalno ono cemu mogu da pristupim odakle hocu, pa cak i ako moram da dokucam nesto (ime namespace-a), ali dobro razumeli smo se. Vidis, ovo sa neimenovanim prostorima imena je resenje do jaja. Celu "staticku klasu" izdvojis u jedna cpp fajl, sve sto je "privatno" stavis pod namespace {}, a u heder sve ostalo (interfejs).
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
*.hsd1.ma.comcast.net.



+6 Profil

icon Re: C++0x i garbage collector25.12.2008. u 02:50 - pre 185 meseci
Citat:
Nedeljko: Za mene je globalno ono cemu mogu da pristupim odakle hocu, pa cak i ako moram da dokucam nesto (ime namespace-a), ali dobro razumeli smo se.


Ima smisla to što pričaš, ali standard razlikuje ova dva slučaja - "globalno" je sinonim za "u globalnom nejmspejsu"

Citat:
Nedeljko:
Vidis, ovo sa neimenovanim prostorima imena je resenje do jaja. Celu "staticku klasu" izdvojis u jedna cpp fajl, sve sto je "privatno" stavis pod namespace {}, a u heder sve ostalo (interfejs).


O, da. Inače, donekle sličan sistem za "nestatičke klase" je PImpl idiom: http://www.gotw.ca/gotw/024.htm

 
Odgovor na temu

[es] :: C/C++ programiranje :: C++0x i garbage collector

Strane: 1 2

[ Pregleda: 5434 | Odgovora: 23 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.