2016-05-04 8 views
-2

Ich lerne C++ zu formatieren, damit es am saubersten ist und ich kann nichts herausfinden.Korrektes Speichern von funktionspezifischen const Optionen/Variablen?

Wie speichere ich funktionsspezifische konstante Variablen? Ich habe die folgenden zwei Ideen:

Meine erste Idee:

innen CPP:

// --------------------------------------------------------- 
// Purpose: Drawing the menu background. 
// --------------------------------------------------------- 
inline void DrawBackground() { 
    static int BeginWidth = 80; 
    static int EndWidth = 590; 

    //usage of the BeginWidth and EndWidth 
} 

Meine zweite Idee:

innen .h:

const int BeginWidth = 80; 
const int EndWidth = 590; 

CPP:

// --------------------------------------------------------- 
// Purpose: Drawing the menu background. 
// --------------------------------------------------------- 
inline void DrawBackground() { 
    //usage of the BeginWidth and EndWidth 
} 

ist eine dieser Ideen richtig? In dem Fall, dass beide korrekt sind, wird einer für angemessener gehalten?

Antwort

-1

Für Funktion spezifische Konstante Variablen, würde ich wie so eine konstante Art an der Spitze meiner Funktion erklären:

inline void DrawBackground() { 
    const int BeginWidth = 80; 
    const int EndWidth = 590; 

    //usage of the BeginWidth and EndWidth 
} 

Alle suchen zukünftige Entwickler das Verhalten von DrawBackground an der Funktion suchen würde sich ändern Definition. Warum sollten sie sich auf den Header beziehen? Und warum die Kopfzeile mit Definitionen überflutet?

Auch in diesem speziellen Beispiel ist es verlockend, die Variablen statisch zu machen, so dass sie nur einmal erstellt werden. Ganzzahlen sind jedoch trivial zu konstruieren, so dass die Einsparungen bestenfalls vernachlässigbar wären und schlimmstenfalls zu einem Cache-Fehltreffer führen würden.