Я пытаюсь создать скомпилированную модель C ++ для простых команд SQL.Например, это может быть частью моей основной функции, которую я должен уметь обрабатывать:
CREATE_TABLE(books) [ // create("books");ovr[
COLUMN(c1) TYPE(string), // "title string",
COLUMN(c2) TYPE(string), // "author string",
COLUMN(num1) TYPE(int) // "price int"
];
Так что для этого мне пришлось перегрузить операторы "[]" и ",".После этого я выяснил, что перегружатель "," выполняется перед "[]".В то время как я предполагаю, что «[]» должно быть выполнено первым.Есть ли какая-то конкретная причина, почему это происходит?Или это просто потому, что "[]" выполняется, когда "]" найден?