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

Operátor | nebo || – C / C++ – Fórum – Programujte.comOperátor | nebo || – C / C++ – Fórum – Programujte.com

 

yaqwsx+9
Posthunter
12. 4. 2008   #1
-
0
-

KDyž bych chtěl typu bool přiřadit hodnotu false pokud má hodnutu false, tak použít:

bool a = false;

a = a || false;
nebo
a = a | false;

?

Nahlásit jako SPAM
IP: 85.160.87.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
neVERberleRfellerER
~ Anonymní uživatel
11 příspěvků
12. 4. 2008   #2
-
0
-

Pokud sem to dobře pochopil tak chceš proměnný přiřadit stejnou hodnotu jako už má,tak třeba takhle:

bool a = false;

a = a ? a : a;
a = a ? 1 : 0;
a = a ? true : false;
a = a;


A takhle se meni hodnota z true na false a obracene:
a = !a;


Nahlásit jako SPAM
IP: 85.71.166.–
yaqwsx+9
Posthunter
12. 4. 2008   #3
-
0
-

To neVERberleRfellerER : Jo, jenže já se chci vyhnout podmínkám.....Přes ty operátory to jde, jenže nevím kterej použít...

Nahlásit jako SPAM
IP: 85.160.87.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
12. 4. 2008   #4
-
0
-

Tak to zkus....
Pokud chceš aby se hodnota nezměnila tak u true a false je to jedno....mužeš použít

a = a || false;
i
a = a |  false;

Jen by mě docela zajmalo k čemu je to dobré....

Nahlásit jako SPAM
IP: 85.71.166.–
mephi0
Expert
12. 4. 2008   #5
-
0
-

použi ||, je to jednoznačnejšie, ale pri bool je to jedno.

Nahlásit jako SPAM
IP: 85.248.56.–
Program nemusi fungovat rychle, staci ze funguje dostatecne rychle.
yaqwsx+9
Posthunter
12. 4. 2008   #6
-
0
-

To mephi : Díky, právě u bool jsem si nebyl jistý....

Nahlásit jako SPAM
IP: 85.160.87.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
20. 4. 2008   #7
-
0
-

Na co je? Proč jako něčemu přiředit tu samou hodnotu co to má, to je blbost nebo se to dá nějak šikovně využít?

Nahlásit jako SPAM
IP: 85.160.83.–
yaqwsx+9
Posthunter
20. 4. 2008   #8
-
0
-

Mám vector struktur. Všechny potřebuji zpracovat a mimo jiné potřebuji zjistit, jestli alespoň jedna vrátila true, ale nepotřebuji znát která.
A tak napíšu

a = a || vecot[i].zpracovani();

místo
if(vec[i].zpracovani())

a = true;

Nahlásit jako SPAM
IP: 85.160.99.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Jura
~ Anonymní uživatel
637 příspěvků
20. 4. 2008   #9
-
0
-

Nerozumím, ale:



a = vector[i].zpracovani();

Nahlásit jako SPAM
IP: 85.207.192.–
yaqwsx+9
Posthunter
20. 4. 2008   #10
-
0
-

To Jura : Jo, jenže když mi ta f-ce zpracování vrátí false tak mi přemaže původní hodnotu (třeba true)

Edit: Možná jsi nepostřeh, že to chci zpracovávat pro celý vector a až po zpracování dle hodnoty a se rozhodnout, co uděl...

Nahlásit jako SPAM
IP: 85.160.99.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Jura
~ Anonymní uživatel
637 příspěvků
20. 4. 2008   #11
-
0
-

No, v tom případě tě asi zklamu, protože takto to nejspíše nebude fungovat. Prostě si někde budeš muset zapamatovat, jestli se fce povedly:

bool bSucc = false;
for(...)
if( vec[i].zpracuj() ) bSucc = true;

if( bSucc ) neco delej

Řekl bych, že tohle je jeden z nejběžnějších a nejpřehlednějších zápisů, rozhodně pokud na tom projektu nepracuješ sám,tak bych se pokusil to psát hlavně čitelně.

Nahlásit jako SPAM
IP: 85.207.192.–
bukaj0
Věrný člen
21. 4. 2008   #12
-
0
-

Jura
Promiň, že to takhle říkám, ale kecáš blbosti. Jak to napsal yaqwsx je naprosto v pořádku. Navíc je to přehlednější než to tvé.

Nahlásit jako SPAM
IP: 193.86.238.–
Jak se správně ptát? -> http://www.hash.cz/inferno/otazky.html[br][br] Po programování je člověk hladovej.
Jura
~ Anonymní uživatel
637 příspěvků
21. 4. 2008   #13
-
0
-

To bukaj :
To že občas napíšu blbost vím, ale díky za připomenutí. Nicméně reagujeme oba na to stejné?
Já psal odpověď na:


Možná jsi nepostřeh, že to chci zpracovávat pro celý vector a až po zpracování dle hodnoty a se rozhodnout, co uděl...


A tohle:

a = a || vecot[i].zpracovani();

nebo

if(vec[i].zpracovani())
a = true;

případně mé(nepochopení)

a = vector[i].zpracovani();


Vždy přepíše původní hodnotu.

Já jiné řešení předchozího požadavku neznám(kromě nastavování nějakých bitů, aby to teda bylo skutečně v jedné proměnné, přip. union). Co se týče přehlednosti, tak na to reagovat vzhledem k předchozímu nebudu.

Nahlásit jako SPAM
IP: 85.207.192.–
yaqwsx+9
Posthunter
21. 4. 2008   #14
-
0
-

To Jura : JJ, přepíše, jenže já píšu, že mi u toho tvého přiřazení může false přepsat true :smile3:

Nahlásit jako SPAM
IP: 85.160.104.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
Jura
~ Anonymní uživatel
637 příspěvků
21. 4. 2008   #15
-
0
-

Tak znova napíšu, co jsem psal. Nejspíše bude nutné si ten výsledek zapamatovat někde jinde(v pomocné proměnné, v mém případě je to bSucc a nemá nic společného s proměnnou a). Je taky možné, že absolutně nechápu o co ti jde, ale dvě hodnoty do proměnné bool prostě nenacpeš...

Nahlásit jako SPAM
IP: 85.207.192.–
yaqwsx+9
Posthunter
22. 4. 2008   #16
-
0
-

Však já tam 2 hodnoty nepotřebuju...Já potřebuji jednu, kterou zjišťuji operátorem ||

Mimochodem, nechme to už být...

Nahlásit jako SPAM
IP: 85.160.86.–
Life is too short to remove USB mass storage safely...
Správný drsňák udělá z konzole cokoliv
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, 122 hostů

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ý