使用#define和typedef与数据类型是一个好习惯吗?

sha*_*pal 1 c++

我想知道正在使用

#define ll long long
typedef long long ll;
Run Code Online (Sandbox Code Playgroud)

一个好的做法,几周前我在查看代码中顶级红色编码器的代码后采用了它.

另外请解释b/w typedef和#define的区别,因为无论我在哪里学习或发现它们,它们都是一样的.

解释#define和typedef使用和区别?

使用也很好,运行时间减少,即使它减少了0.0000001秒,请告诉我.

Pet*_*ker 5

通常,使用语言构造而不是预处理器构造.宏的问题在于,宏的定义将在每次使用之后ll被替换:

void f() {
    int ll = 3; // whoops, error
}
Run Code Online (Sandbox Code Playgroud)

使用typedef代码是可以的.