Какой из этих методов более безопасен для определения типов переменных? Я знаю, что мы все нахмуримся, когда видим #defines, но, похоже, это работает так же, как typedef:Правильный способ определения типа (typedef vs #define)
Есть ли преимущество в том или ином виде, и если да, то что это может быть?
Метод один:
#include <iostream>
#define byte unsigned char
int main() {
byte testByte = 'A';
std::cout << testByte << std::endl;
return 0;
}
Способ второй:
#include <iostream>
int main() {
typedef unsigned char byte;
byte testByte = 'A';
std::cout << testByte << std::endl;
return 0;
}
Что означает «более безопасный»? –
Ваш метод 1 - ужасная практика. –
Предпочитайте, если возможно, фактические функции языка по функциям препроцессора. Другими словами, избегайте макросов. – Logicrat