簡體   English   中英

是否可以檢測指向成員函數的指針?

[英]is it possible to detect pointer-to-member-function?

我想要一個指向成員函數指針的案例的專門模板。 有沒有辦法檢測到這一點? 現在,我聲明struct isPtrToMemberFunc,然后向每個類添加一個額外的模板(類TType = void)(現在僅為1),並專門化該額外的模板以查看其isPtrToMemberFunc。 有沒有辦法自動檢測到這一點? 我當前的方法是否不是最好的解決方案?

有一種方法,但是它包括對這些成員函數的每個數量的參數和const / volatile修飾符重復專門化操作。 一種更簡單的方法是使用boost.functiontypes為您boost.functiontypes這一點:

template<typename T>
void doit(T t) {
    if(boost::function_types::is_member_function_pointer<T>::value) {
        std::cout << "it is";
        // ...
    } else {
        std::cout << "it is not";
        // ...
    }
}

這里抓住它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM