Est-ce que const va avant ou après CGFloat?
-
28-10-2019 - |
Question
Est-ce vraiment important? Const avant ou const après? Je suppose que si je mets const
avant ou aprèsCGFloat
cela rend la valeur de CGFloat
constante, mais qu'en est-il du pointeur?Est-ce correct pour Objective-C:
// Example.h
extern CGFloat const kPasscodeInputBoxWidth;
// Example.m
CGFloat const kPasscodeInputBoxWidth = 61.0f;
La solution
Cela peut aller avant ou après.Dans le cas d'un pointeur, ce qui importe est de savoir si le const
se termine avant ou après l'astérisque:
const int *a; // pointer to const int -- can't change what a points at
int const *a; // same
int *const a; // const pointer to int -- can't change the pointer itself.
// Note: must be initialized, since it can't be assigned.
Autres conseils
Peu importe (j'ai toujours utilisé le premier, mais je suppose que c'est une question de style):
const CGFloat kPasscodeInputBoxWidth = 61.0;
CGFloat const kPasscodeInputBoxWidth = 61.0;
Au moins dans le rendu actuel de CGFloat
, c'est juste un typedef de double
, alors faites comme vous le feriez avec un type de données primitif normal.Pour les pointeurs, le placement de const déterminera si c'est le pointeur ou la valeur qui est constante, donc c'est important.