const au lieu de #define

42_Cursus·2022년 5월 11일
0

CPP

목록 보기
4/10

#define A = 123;

cela est un "symbolic name" pour nous, mais pour "compiler" ne peut pas le voir, parce que, avant de le transmettre au compiler, "source code" changer de "A" a "123".

en conclure, A n'est pas au "symbol table" pour complier!!

donc, par example...


#define A  123

int main(void)
{
	int  = A;		// compile error
    return (0);
}


main.cpp:7:7: error: expected unqualified-id
        int  = 123;
             ^
1 error generated.

donc, pour "compile error", on peut voir que "int = 123"...
pas de "int = A";

donc, on peut utiliser!! "const"

mais, fait attention pour mettre "const"

par example,

pour " char * A = "aa"; "

on doit mettre "const" comme la suivante:

const char * const A = "aa";

ca veut dire, mettre "const" pour "pointer" et "valeur".

en plus, mieux que celui ci,

on peut utiliser " const std::string A ("aa"); "

assez sympa!

parceque,
1. A est dans "symbol table"
2. "Utilisation de const" a besoin qu'un origianal
( #define a besoin de chaque copie quand il apparaît)

profile
etudiant_42

0개의 댓글