Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Thinking in C++ Kapitel 3 Aufgabe 12

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.02.2001
    Ort
    Koeln
    Beiträge
    49

    Thinking in C++ Kapitel 3 Aufgabe 12

    Hallo,

    ich stecke fest und bin offensichtlich zu doof um google zu bedienen. Jedenfalls konnte ich mit google meine Frage nicht klären. Die Aufgabe lautet:

    Modify Boolean.cpp and Bitwise.cpp so they use the explicit operators (if your compiler is conformant to the C++ Standard it will support these)

    Was zum Geier sind denn explicit operators? Bei google bekam ich nur Treffer zum Thema "explicit type conversion". Hier geht es aber um logische Vergleiche. etwa i == j oder i < j.

    Kann mich einer aufklären?

    Vielen Dank,

    Marco

    P.S.: Habe mir die Lösungen gekauft, dort steht aber leider zu der Aufgabe nur "left to the reader"... (Scheint SOOOO einfach zu sein....)

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Explicit operators

    These are keywords for bitwise and logical operators. Non-U.S. programmers without keyboard characters like &, |, ^, and so on, were forced to use C’s horrible trigraphs, which were not only annoying to type, but obscure when reading. This is repaired in C++ with additional keywords:

    Keyword


    Meaning

    and && (logical and)
    or || (logical or)
    not ! (logical NOT)
    not_eq != (logical not-equivalent)
    bitand & (bitwise and)
    and_eq &= (bitwise and-assignment)
    bitor | (bitwise or)
    or_eq |= (bitwise or-assignment)
    xor ^ (bitwise exclusive-or)
    xor_eq ^= (bitwise exclusive-or-assignment)
    compl ~ (ones complement)

    If your compiler complies with Standard C++, it will support these keywords.
    Wenn ich dich wäre würd ich mir die HTML Version runterladen, die kann man nämlich durchsuchen, falls du die nicht eh schon hast

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.02.2001
    Ort
    Koeln
    Beiträge
    49
    Hi,

    eh ja danke, hatte den Absatz nur auf die Trigraphs durchgelesen, da ist mir das wohl "durchgerutscht"...

    Danke,

    Marco

    P.S: Ich habe 'ne gedruckte Version ohne Register (ziemlich übel, wa?!) Aber die HTML-Version werde ich mir gleich mal besorgen - wird's wohl auch auf BruceEckel.com geben, woll?

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ja, genau. Das ist sowieso das Coole an Bruce Eckel, dass es die Bücher auch alle gratis als HTML gibt

    Ich meine selbst wenn man ein Buch gekauft hat ists eh nie da wenn man es gerade benötigt um was nachzugucken (ausser man ist gerade intensiv am lernen) - da ist so ne HTML-Version sehr praktisch.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer Avatar von dra
    Registriert seit
    02.11.2004
    Ort
    Ulm
    Beiträge
    29
    Hi,

    ich habe mir das Buch gekauft weil ich das Lesen am Bildschirm viel zu ermuedend finde. Ausserdem kann ich den PC nicht immer dabei haben...

    Gruss,
    dra
    "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." -- Rich Cook

  6. #6
    Registrierter Benutzer
    Registriert seit
    23.02.2001
    Ort
    Koeln
    Beiträge
    49
    Hi,

    ich mache das so, dass ich mir das Buch kapitelweise - aktuell hat das 3. Kapitel - ausdrucke. Das Buch selbst hatte ich mir als pdf heruntergeladen. Ich lese auch lieber auf Papier als am Bildschirm. Habe mir nun auch das Inhaltsverzeichnis und das Stichwortverzeichnis ausgedruckt - hilft echt [] Die Lösungen habe ich mir für $ 12 heruntergeladen - manche Aufgaben sind mir nicht ganz klar, so wusste ich z.B. nicht, ob bei Aufgabe 2 des dritten Kapitels eine zusätzliche if-Abfrage neben den beiden for-Schleifen erlaubt ist. Laut Lösung war's dann wohl erlaubt... die Woche, in der ich über eine Lösung ohne zusätzliche if-Abfrage nachgedacht habe (vergeblich) war aber trotzdem sehr amüsant.

    Super-Buch jedenfalls!

    Bis dann,

    Marco

  7. #7
    Registrierter Benutzer
    Registriert seit
    18.03.2005
    Beiträge
    211
    Kenn mich mit explizieten operatoren null aus ... auch das 1.mal das ich sowas lese ....
    aber man lernt ja dazu ^^

    nu meine Frage:

    bool btest = b1 && b2;
    bool btest = b1 and b2;

    musst ja dann genau das selbe sein ....

    wenn das keywords sind, wieso matcht der compiler dann das nicht selber ??
    oder warum muss ich fuer das andere keyword den operator selber ueberschreiben ....

    template<class T>
    bool operator &&(const T & t1,const T & t2)
    ....

    template<class T>
    bool operator and(const T & t1, const T & t2)

    muessen ja nach der beschreibung 100% identisch sein, warum matcht der compiler dann die keywords nich einfach aufeinander ?
    Wenn doch, macht obige Fragestellung ned viel sinn ^^

    btw bei MSVC++ 6.0 sind es einfach makros ^^ Glaub ich versteh die fragestellung nich ganz ....

    Ciao ...
    Geändert von RHBaum (24-11-2005 um 11:41 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •