präprozessor __LINE__ und co
-
ist es eigentlich definiert und üblich das __LINE__ und co. erst am ende ersetzt werden?
z.b.#include <iostream> #define MYLINE __LINE__ int main() { std::cout << MYLINE << std::endl; }
ich sehe da zwei mögliche wege
//0. #include <iostream> #define MYLINE __LINE__ int main() { std::cout << MYLINE << std::endl; } //1. #include <iostream> #define MYLINE __LINE__ int main() { std::cout << __LINE__ << std::endl; } //3. #include <iostream> #define MYLINE __LINE__ int main() { std::cout << 5 << std::endl; }
oder
//0. #include <iostream> #define MYLINE __LINE__ int main() { std::cout << MYLINE << std::endl; } //1. #include <iostream> #define MYLINE 2 int main() { std::cout << MYLINE << std::endl; } //3. #include <iostream> #define MYLINE 2 int main() { std::cout << 2 << std::endl; }
ahja nicht nötig das ihr für mich im standard sucht, wenn das keine zufällig weis kann ich mir selbt den standard antuen
danke
-
am ende, sonst würde assert nicht klappen.