präprozessor defines aus include-Dateien

T

tlange

Grünschnabel
Hallo,

ich möchte einen Simulationscode (C++) verwenden, bei dem man seine Problemstellung über header-Dateien definieren muss.

Einzelne Bezeichner kommen in den jeweiligen header-Dateien öfter vor. Also wollte ich sie einfach vordefinieren. Bspw. in

HEADER-DATEI: spatial_parameters.hh:
-----------------------------------------------------------

Code:
...
[COLOR="#FF0000"]/* HIER WIRD DER KLASSEN-NAME FÜR DIE SPATIAL PARAMETER TYPE TAG-KLASSE DEFINIERT */[/COLOR]
[B][COLOR="#800080"]#ifndef[/COLOR][/B] [COLOR="#008000"]SPATIAL_PARAMETERS_CLASS_NAME[/COLOR]
[B][COLOR="#800080"]#define[/COLOR][/B] [COLOR="#008000"]SPATIAL_PARAMETERS_CLASS_NAME StationaryFlowSpatialParameters[/COLOR]
...
-----------------------------------------------------------

Nun wird diese Datei in eine andere Header-Datei includiert, in welcher ich ebenso einen Namen vordefiniere. Frage ist, ob ich einen vordefinierten Namen aus der includierten Datei auch verwenden darf:

HEADER-DATEI: problem_definition.hh
-----------------------------------------------------------
Code:
...
[COLOR="#FF0000"]/* HIER WIRD DER KLASSEN-NAME FÜR DIE PROBLEM TYPE TAG-KLASSE DEFINIERT */[/COLOR]
[B][COLOR="#800080"]#ifndef[/COLOR][/B] [COLOR="#008000"]PROBLEM_CLASS_NAME[/COLOR]
[B][COLOR="#800080"]#define[/COLOR][/B] [COLOR="#008000"]PROBLEM_CLASS_NAME StationaryFlowProblem[/COLOR]
...
// Spatially dependent parameters
[B][COLOR="#800080"]#include[/COLOR][/B] "spatial_parameters.hh"
...
[COLOR="#FF0000"]/* WÄRE DANN ERLAUBT, DEN DEFINIERTEN NAMEN AUS DER INCLUDIERTEN HEADER-DATEI AUCH HIER ZU VERWENDEN? */[/COLOR]
[COLOR="#0000FF"]NEW_TYPE_TAG([COLOR="#008000"]PROBLEM_CLASS_NAME[/COLOR], INHERITS_FROM(BoxOneP, [COLOR="#008000"]SPATIAL_PARAMETERS_CLASS_NAME[/COLOR]));[/COLOR]
...
-----------------------------------------------------------

Vielen Dank,
Torsten
 
[...]
/* WÄRE DANN ERLAUBT, DEN DEFINIERTEN NAMEN AUS DER INCLUDIERTEN HEADER-DATEI AUCH HIER ZU VERWENDEN? */
[...]
Natürlich, warum nicht?

Das Einzige was sein kann ist, dass für das jeweilige Projekt ein bestimmter Programmierstil (Coding Style) vorgeschrieben ist, der dieses Vorhaben nicht erlaubt.
Kann nämlich manchmal ärgerlich sein, wenn man nur einen normalen Texteditor ohne "Goto Definition"-Funktion verwendet und das Projekt nicht ordentlich dokumentiert ist...
 
Zuletzt bearbeitet:
Natürlich, warum nicht?

Das Einzige was sein kann ist, dass für das jeweilige Projekt ein bestimmter Programmierstil (Coding Style) vorgeschrieben ist, der dieses Vorhaben nicht erlaubt.

Vielen Dank! Ich glaub, so einen vorgeschriebenen Style verwenden die Leute nicht.
 

Ähnliche Themen

dovecot und postfix Konfiguration Problem

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

fluxbox make error

probleme beim compilieren von gimp2.3.1

faxen geht nicht mehr

Zurück
Oben