🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #1797

Ein paar Fragen

#1797
From: Ruediger Berlich
Date: Sun, 10 Mar 1996 14:32
64 lines
2506 bytes
Hallo,
ich habe ein paar Fragen :
- Ist es durchweg ratsam, alle Z"ahl-Variablen als
  'register' zu deklarieren ? Oder sollte man sich da nur auf die
  wichtigsten (am h"aufigsten gebrauchten) beschr"anken ?
  Ich stelle mir vor, dass ja immer nur eine beschr"ankte Anzahl von
  Variablen die Register des Prozessors belegen kann. Bremst man so nicht
  das ganze Programm aus ? Oder ist 'register' nur eine Empfehlung an
  den Compiler ?
- Mir wurde erz"ahlt, dass auf modernen (>= 32 Bit-) Rechnern intern alle 
  floatingpoint-Zahlen als double dargestellt sind, sodass Programme,
  die nur mit double arbeiten, schneller sind, da floats intern umgewandelt
  werden m"ussen. Stimmt das und gilt dasselbe dann auch f"ur int/long ?
- Wenn ich etwa die folgenden (Member-)Funktionen/Klassen deklariere/definiere :
  (schwachsinnig, ich weiss, soll nur ein Beispiel sein)

===============================================

class matrix
{
public:
 matrix(long, long);
 matrix(const matrix&);
...
 matrix& giveBackMatrix(void);
 matrix& operator=(const matrix&);
 matrix& operator=(double); // Soll Matrix mit dem Argument initialisieren
private:
...
};

matrix& matrix::giveBackMatrix(void)
{
matrix z(*this);
return z;
}

main()
{
matrix x(3,3),y(3,3);
x=1.;
y=0.;
...
y=x.giveBackMatrix();
}

=============================================

 w"are dann sichergestellt, dass 'z' als lokale Variable lange genug
 lebt, um operator= auszuf"uhren ? W"urden dann in y also lauter
 '1.' stehen ? Oder w"are das Ganze undefiniert ?
 Anders ausgedr"uckt, wie kann ich bei der R"uckgabe einer Referenz
 vermeiden, den R"uckgabewert (z) mit 'new' anlegen zu m"ussen 
 (==> explizites L"oschen notwendig) ?

Danke f"ur Eure Hilfe,
R"udiger
[berlich@pc66.mppmu.mpg.de]

P.S. : Sorry, ich poste diesen Artikel nicht von meinem normalen Host
(in M"unchen). Es k"onnte deshalb sein, dass die im Header des Artikels
angegebene Adresse nicht stimmt (Erscheint hier im 'vi' vom 'tin' aus
nicht). Ich bin jedoch unter der oben angegebenen Adresse -- pc66 --
zu erreichen.
Technical Details
Message-ID: <Do2325.Fwu@news.cern.ch>
Path: arc1-ca.pugleaf.net!afal23.cern.ch!berlichr

Show Full Headers
Complete Article Headers
Newsgroups: de.comp.lang.c++
Path: arc1-ca.pugleaf.net!afal23.cern.ch!berlichr
From: berlichr@afal23.cern.ch (Ruediger Berlich)
Subject: Ein paar Fragen
X-Nntp-Posting-Host: afal23.cern.ch
Message-ID: <Do2325.Fwu@news.cern.ch>
Sender: news@news.cern.ch (USENET News System)
Organization: CERN European Lab for Particle Physics
X-Newsreader: TIN [version 1.2 PL2]
Date: Sun, 10 Mar 1996 14:32:29 GMT