.[ ČeskéHry.cz ].
Jak funguje std::cout?

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Poky



Založen: 29. 06. 2009
Příspěvky: 184
Bydliště: Písek / Plzeň

PříspěvekZaslal: 6. září 2010, 18:43:30    Předmět: Jak funguje std::cout? Odpovědět s citátem

Ahoj, mám menší problém. Potřebuji vědět, jak přesně funguje std::cout, respektive jak se vytvaří instance její třídy(tušim ostream). Potřbuju totiž dosáhnout stejného efektu. Můj skutečný problém spočívá v tom, že mám vlastní souborový systém a potřebuju aby se rovnou při načítání vytvořila i jeho jediná instance "console" a zároveň aby byla viditelná všem ostatním hlavičkovým souborům v enginu (skrátka stejný princip jako u std::cout).

Doufám, že jsem to napsal srozumitelně Smile . Děkuji předem za odpověď.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Kaemon



Založen: 28. 07. 2007
Příspěvky: 33

PříspěvekZaslal: 6. září 2010, 19:29:46    Předmět: Re: Jak funguje std::cout? Odpovědět s citátem

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 6. září 2010, 21:51:38    Předmět: Odpovědět s citátem

Jo, to je jedna možnost. Jinak cout je imho globální proměnná jako každá jiná.

bla.h:
kód:
extern MujObjekt glob;

bla.cpp:
kód:
MujObjekt glob;

_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Poky



Založen: 29. 06. 2009
Příspěvky: 184
Bydliště: Písek / Plzeň

PříspěvekZaslal: 7. září 2010, 08:49:10    Předmět: Odpovědět s citátem

Díky moc Quiark, to je přesně to co jsem potřeboval. Vyřešeno!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1827

PříspěvekZaslal: 7. září 2010, 19:26:37    Předmět: Odpovědět s citátem

Ja v poslednom case pouzivam singletony (presne ako v odkazovanom clanku) a pre skratenie zapisu este aj C makra Very Happy Very Happy Yum yum! Very Happy
kód:
#define COUT (ONE_MORE_MACRO_YEAH->FuckingRulingOutput)
...
COUT << "xyz" << ENDL

_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 7. září 2010, 20:13:31    Předmět: Odpovědět s citátem

http://www.ceske-hry.cz/forum/viewtopic.php?p=14725&highlight=#14725

Vždy to jde i bez singletonů...teď už to vím i já... Wink
A jsem spokojen (díky Augi, díky Eosie)... Very Happy
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Al



Založen: 23. 10. 2007
Příspěvky: 196

PříspěvekZaslal: 14. září 2010, 22:06:15    Předmět: Odpovědět s citátem

Klíčové slovo static udělá stejnou službu jako singleton. A nejhorší jsou lidi, co ty dvě věci pletou mezi sebou. Static tu bylo v C a C++ odjakživa a najednou někdo přišel se singletonem a začal to sem montovat. Uáááááááááááááá...

Ono to v těch knihách o vzorech buď není, nebo jsem přehlédl, že Singleton je vzor k řešení situace, kdy máme již hotovou třídu (typicky v týmu od jiného autora) a chceme ji použít ve stylu jakoby globální proměnné. Ne k řešení situace, kdy píšeme novou třídu a můžeme si ji by design rovnou udělat static. A většinou si píšeme ty třídy sami pro sebe, aspoň já tedy ano, takže bych sem ty singletony moc nepletl.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ondras



Založen: 12. 09. 2007
Příspěvky: 66

PříspěvekZaslal: 16. září 2010, 11:49:47    Předmět: Odpovědět s citátem

To, ale neni singleton. Singleton ma jenom JEDNU instanci v celym programu. Kdezto ty mas teoreticky vic instanci, ktere sdili data.
Viz.: monostate vs singleton

Navic tam davat globalni promenne, no ja nevim... U tech static veci opatrne nemas zaruceny poradi vytvareni. Nema cout, cin primo v norme zaruceny vytvoreni pred vsim ostatnim? Ty tohle u svych veci nemas.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Al



Založen: 23. 10. 2007
Příspěvky: 196

PříspěvekZaslal: 19. září 2010, 18:23:21    Předmět: Odpovědět s citátem

To by mě teda zajímalo, "co" jako údajně není singleton. Ať je jasno, o čem se tu člověk má vlastně hádat. Wink

Pořadí vytváření já naštěstí v praxi zaručené mám, protože používám .NET Smile a vyjadřuji tímto upřímnou soustrast s těmi, co ho v ANSI/ISO C++ zaručené nemají. Je to tam peklo. Brrr... Myslím, že tohle je jeden hodně dobrý argument, proč nepoužívat ty globální proměnné v C++ tam, kde člověk jen potřebuje zajistit jedinečnost instance třídy (na což se myslím původní tazatel hlavně ptal).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Yossarian



Založen: 28. 07. 2007
Příspěvky: 274
Bydliště: Šalingrad

PříspěvekZaslal: 20. září 2010, 10:29:06    Předmět: Odpovědět s citátem

Al napsal:
To by mě teda zajímalo, "co" jako údajně není singleton. Ať je jasno, o čem se tu člověk má vlastně hádat. Wink

Pořadí vytváření já naštěstí v praxi zaručené mám, protože používám .NET Smile a vyjadřuji tímto upřímnou soustrast s těmi, co ho v ANSI/ISO C++ zaručené nemají. Je to tam peklo. Brrr... Myslím, že tohle je jeden hodně dobrý argument, proč nepoužívat ty globální proměnné v C++ tam, kde člověk jen potřebuje zajistit jedinečnost instance třídy (na což se myslím původní tazatel hlavně ptal).


Jj, .NETacky zpusob 'on-demand' je 'genialni a super'. napr: http://blogs.msdn.com/b/oldnewthing/archive/2007/08/15/4392538.aspx
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Augi



Založen: 28. 07. 2007
Příspěvky: 782
Bydliště: Čerčany

PříspěvekZaslal: 20. září 2010, 11:51:52    Předmět: Odpovědět s citátem

Mně třeba tenhle on-demand přístup hodně vyhovuje. Když to jsou navíc generické třídy, tak je to úplně cool Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Al



Založen: 23. 10. 2007
Příspěvky: 196

PříspěvekZaslal: 20. září 2010, 18:47:49    Předmět: Odpovědět s citátem

Nezapomeňte, že statický konstruktor si v .NETu můžete zavolat kdykoliv dřív, pokud to prostě chcete nebo potřebujete. Nemusíte čekat, až se na poslední chvíli zavolá sám. Čili nějak v tom nevidím žádný problém, používání static v .NETu je pohodička.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna