Tôi đã tự hỏi liệu ... được coi là một nhà điều hành trong C++ 11. Và nếu đúng như vậy, ưu tiên của nó là gì?Trong C++ 11,… được coi là một toán tử?
Ví dụ xem xét ví dụ khá xấu này và giả định ... là một toán tử.
template<typename T, typename...Args>
void foo(T _elm, Args... _args)
{
bar(something,_args...);
}
Làm thế nào tôi có thể biết liệu bar
sẽ được chạy với tham số đầu tiên của nó là something
và args...
mở rộng, hoặc nếu nó sẽ được chạy trên kết quả của operator,(something, _args...)
? (Bonus câu hỏi: các nhà khai thác có thể bị quá tải với các mẫu variadic?)
"các toán tử có thể bị quá tải với các mẫu variadic" Không. Hoặc ít nhất, bạn sẽ không nhận được gì bằng cách thực hiện nó. Các toán tử luôn lấy một số tham số cụ thể. –
Xem [this] (http://stackoverflow.com/questions/2396065/c-overloading-operator-comma-for-variadic-arguments). – ApprenticeHacker
@qdii: Heh, nvm :) –