Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Programm klar machen, dass Eingabedatei eine Matrix enthält

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
09.05.2004, 14:25 Uhr
(un)wissender
Niveauwart


Oh oh, überall fehlt const und der operator= sollte auf keinen Fall void liefern, sondern CMatrix<typ> &.
Matrix_ausgeben sollte operator<< sein.
Ja, ja die c-Leute.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
09.05.2004, 15:42 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ok von mir aus das mit dem = operator lass ich gelten...
aber das const ist mir schnuppe, das brauchen nur programmierer die keinen überblick über ihren quellcode haben
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
09.05.2004, 15:45 Uhr
(un)wissender
Niveauwart


Soll ich dazu was sagen?
Ja, ich kann nicht anders.
Quellcode, der der const-Korrektheit nicht folgt, ist automatisch verbuggt, weil er für wirklich konstante Objekte nicht aufgerufen werden kann (auch mit dem const-cast nicht, da das Verhalten hier undefiniert ist.).
Außerdem bringt das const einiges an Performance, mehr als man so glauben mag.
--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 09.05.2004 um 15:46 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
09.05.2004, 15:47 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Außerdem bringt das const einiges an Performance, mehr als man so glauben mag.


sollte das stimme ist das in der tat ein argument...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
09.05.2004, 16:30 Uhr
(un)wissender
Niveauwart


Das stimmt, ist schließlich von mir.
Der Compiler kann, da alle Attribute read-only sind, deren Inhalt in Register packen, ohne const müßte er normalerweise über den this-Pointer gehen.
Somit kann der Compiler ein paar Pointerindirektionen sparen.
Kann man auch von Hand machen, indem man alles vorläd, aber wozu ist der Compiler denn da?


Bearbeitung:

Wichtiger sollte allerdings korrekter Code sein, und der ist nur mit const möglich...


--
Wer früher stirbt ist länger tot.

Dieser Post wurde am 09.05.2004 um 16:32 Uhr von (un)wissender editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
10.05.2004, 00:15 Uhr
Scyx



Ich versteh jetzt echt garnichts mehr. Dachte zuerst mein Compiler würde spinnen, hab dann einen bereits funktionierende Quellcode kompiliert und das ging einwandfrei...
Wenn ich den verbesserten code von Windalf an einen Freund schicke, spinnt der Compiler auch bei ihm.Allerdings quatscht der ihm was von wegen Lizenzrechten...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
10.05.2004, 01:00 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


naja der quellcode selber macht ja noch gar nichts...ist ja erstmal nur ein template was du noch implementieren musst...

und fehler bekommst du auch erst raus wenn du konrete objecte dieser klasse anlegst udn dann die verschiedenen mehtoden aufrufst... ist echt ne sache womit man sich ne weile bekaspern kann aber du wolltest ja nen template haben

guck mal am besten in ein buch wie man mit templates arbeitet oder google man ein wenig, dann wirds dir bestimmt klarer
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
10.05.2004, 07:46 Uhr
Scyx



Im Prinzip ist mir klar, wie man ein Template anlegt und benutzt. Man schreibt doch einfach

C++:
template ersetze<class T>
{
    hier die Funktion rein, mit "T" als Platzhalter für die Datentypen
};


oder?
Später dann in der main Funktion, benutze ich das template dann in etwa so

C++:
....

resultat=ersetze;
...


Vielen Dank für die Hilfe bisher, es ist mir schon etwas klarer, aber mein eigentliches Problem besteht leider immer noch , ich kann den Code nicht kompilieren... Immer diese "error" blab bla bla Message.

Der Witz ist ja, dass das eine Übungsaufgabe ist und ich grad mal seit 2 Wochen C++ mache... Find ich etwas krass von unsrem Prof... Wer wirklich total neu drin ist, hat da nur Probleme und die Vorlesung hat keinerlei Programmiervorraussetzungen im Prinzip...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
10.05.2004, 08:09 Uhr
(un)wissender
Niveauwart


Nee, template-Deklarierung geht so


C++:
template <typename T> class MyTemplate
{
};



Welchen Code kannst du nicht kompilieren?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
10.05.2004, 12:45 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


du musst halt unterscheiden zwischen einen funktions und einem klassentemplate... das was du willst ist ein klassentemplate und das geht i.a. so wie unwissender gepostet hat
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: