01/10/2018, 13:26
#define in C/C++
Mọi người ơi,
Cho em hỏi #define trong CC++ có tác dụng, cách dùng gì vậy ạ?
Có link nào viết chi tiết về define không ạ?
#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> ii;
typedef long long ll;
typedef long double ld;
typedef unsigned long long llu;
#define X first
#define Y second
#define mp make_pair
#define pb push_back
#define ep emplace_back
#define sz(a) (int) a.size()
#define FOR(x,a,b) for (int x=a;x<=b;x++)
#define FOD(x,a,b) for (int x=a;x>=b;x--)
#define REP(x,a,b) for (int x=a;x<b;x++)
#define RED(x,a,b) for (int x=a;x>b;x--)
#define EL printf("
")
#define debug 1
const double pi = acos(-1.0);
đoạn code trên define có tác dụng gì và cách dùng ra sao ạ?
Bài liên quan
#define
là định nghĩa lại 1 đoạn code bằng 1 thứ gì đó. Sử dụng define để rút gọn 1 đoạn code nào đó, tuy nhiên khi sử dụng cần phải nhớ bạn dùng để làm gì và tránh lạm dụng define.Cách define này có ích khi bạn code với
pair<>
.Rút gọn lệnh. Các lệnh này bạn tìm hiểu trên Google.
Rút gọn vòng lặp for.
1 biến in ra dùng để debug. Đây không phải code của mình nên mình không biết biến này dùng cụ thể như thế nào
1 câu lệnh lười để in ra 1 dòng mới.
Có vẻ như bạn lấy đoạn code này ở 1 trang competitive programming nào đó.
Tại sao mình khuyên bạn không nên lạm dụng define? Chạy thử đoạn code sau:
Bạn thử đoán xem kết quả là bao nhiêu?