Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

11

03.01.2009, 18:06

Es macht übrigens durchaus einen Unterschied ob eine Funktion inline ist oder nicht. Es ist also nicht nur ein Compilerhinweis.
@D13_Dreinig

12

03.01.2009, 19:06

Zitat von »"David_pb"«

Es macht übrigens durchaus einen Unterschied ob eine Funktion inline ist oder nicht. Es ist also nicht nur ein Compilerhinweis.
Es macht nur einen Unterschied, wenn man modular programmiert. Also dass man beispielsweise Inline-Funktionen im Header definieren muss, wenn sie in mehreren Übersetzungseinheiten verwendet wird (natürlich unter der Voraussetzung, der Compiler kann diesbezüglich gut selber optimieren).

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

13

03.01.2009, 19:17

Beispiel:

Header: h1.h

C-/C++-Quelltext

1
void foo();


Modul: h1.cpp

C-/C++-Quelltext

1
2
3
4
5
#include "h1.h"

void foo()
{
}


Modul: h2.cpp

C-/C++-Quelltext

1
2
3
void foo()
{
}


Was passiert? :)
@D13_Dreinig

14

03.01.2009, 19:39

wenn du versuchst, die zu linken, bekommst du nen fehler wegen neudefinition :roll:

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

15

03.01.2009, 20:04

Zitat von »"PCShadow"«

wenn du versuchst, die zu linken, bekommst du nen fehler wegen neudefinition :roll:


Sehr gut! :p
@D13_Dreinig

16

04.01.2009, 07:34

Ich hab da auch mal ne Frage passend zum Thema:
Bei const member Funktion muss man da auch bei der Definition
(wenn außerhalb der Klasse definiert) const schreiben oder nur bei der Deklaration der Klasse?

Also so:


Deklaration:

C-/C++-Quelltext

1
2
3
4
5
class foo
{
public:
    void bar() const;
};




Definition:

C-/C++-Quelltext

1
2
3
void foo::bar() const <-- das hier setzen oder nicht ?
{
}

Anonymous

unregistriert

17

04.01.2009, 10:29

Passt schon...aber wenn dann auch so:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
class foo
{
public:
    void bar() const;
};

void foo::bar() const 
{
}

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

18

04.01.2009, 11:23

Zitat von »"PS3-690"«

Ich hab da auch mal ne Frage passend zum Thema:
Bei const member Funktion muss man da auch bei der Definition
(wenn außerhalb der Klasse definiert) const schreiben oder nur bei der Deklaration der Klasse?


Wieso hast dus nich einfach ausprobiert?
@D13_Dreinig

19

05.01.2009, 01:18

Ich dachte, ich häts mal ausprobiert (und es wären keine Fehlermeldungen gekommen),
aber scheint wohl doch nicht so, da ich jetzt bei einem neuen Compile Fehlermeldungen bekomme. :?

Hab wohl geträumt oder so. :cry: :oops: :cry:

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

20

05.01.2009, 18:48

Der code von Coders-Square müsste einwandfrei sein, probier das mal.

Socke

Werbeanzeige