[C++]Operator Problem

07/29/2011 14:50 alg0r!thm#1
Hallo liebe Community,
ich habe eine Frage und zwar habe ich hier was kleines geschrieben bzw. abgeschrieben von der v2b DVD von der ich C++ zur Zeit lerne.
Und ich wollte wissen ob mir jemand den Quellcode erklären kann wäre sehr nett denn ich will das nähmlich auch verstehen.

Code:
#include <iostream>

using namespace std;

int main(void)
{
	int i1;
	int erg;
	cin >> i1;

	erg = (i1 > 10) ? i1 * 10 : i1;
	cout << erg << endl;

	return(0);
}

Lg,
Daniiel'

Anmerkung: Ich verstehe eigentlich alles bis auf:

Code:
erg = (i1 > 10) ? i1 * 10 : i1;
Dort wird doch definiert was die Variable "erg" ist.
Und dort steht wenn die Variable i1 größer ist als 10 soll "i1" mal 10 genommen werden aber wofür steht das ": i1"
07/29/2011 15:02 cooler7878#2
Aaalso das ist ein ternärer Operator (?)
Gesprochen:
ist i1 größer als 10
rechne i1 mal 10
anderenfalls( : )
ist erg i1.


Ein anderes Beispiel
Quote:

length1>length2?length1:length2 ;
Hier wird überprüft ob length1 größer als length2 ist falls dies zutrifft wird length1 "zurückgegeben"
falls nicht( : ) length2


Achja btw. ternäre Operatoren wie ?: werden nicht gerne gesehen
07/29/2011 15:40 alg0r!thm#3
Quote:
Originally Posted by cooler7878 View Post
Aaalso das ist ein ternärer Operator (?)
Gesprochen:
ist i1 größer als 10
rechne i1 mal 10
anderenfalls( : )
ist erg i1.


Ein anderes Beispiel

Hier wird überprüft ob length1 größer als length2 ist falls dies zutrifft wird length1 "zurückgegeben"
falls nicht( : ) length2


Achja btw. ternäre Operatoren wie ?: werden nicht gerne gesehen
Danke schön '& wie ist das gemeint gewesen das ternäre Operatoren wie ?: nicht gerne gesehen sind?


Lg,
Daniiel'
07/29/2011 15:43 cooler7878#4
Damit ist gemeint , dass manche (ich eigtl nicht) das Benutzen von ternären Operatoren als schlecht lesbar und somit als schlechten Stil abtuen.
07/29/2011 20:28 MrSm!th#5
Manche, nicht alle.

Prinzipiell gilt, solange man nicht mit Leerzeichen spart, ist eine Kurzfassung nicht schlecht.
Genau so wie ++/+=