ho usato per sostituire const con #define, ma nel seguente esempio la stampa falsa.const vs # define (comportamento strano)
#include <iostream>
#define x 3e+38
using namespace std;
int main() {
float p = x;
if (p==x)
cout<<"true"<<endl;
else
cout<<"false"<<endl;
return 0;
}
Ma se sostituisco
#define x 3e+38
con
const float x = 3e+38;
funziona perfettamente, domanda è: perché? (So che ci sono diversi argomenti discussi per #define vs const, ma in realtà non ho capito, gentilmente mi illumini)
Prova '#define x 3e + 38f' –
Waow, ma perché non funziona, così come perché e come funziona? –
Non usare '==' per confrontare float/double – adrianm