function-object

    1熱度

    4回答

    我的問題是純粹的組織性質,因此我認識到潛在的答案可能是主觀性的。經過多年與C#的合作,我終於回到了C++,並且習慣於如何正確組織文件。 基本上,我想知道哪裏最好的地方是定義謂詞和函數對象。目前,我在一個類中爲STL算法使用了一個簡單的函數對象。這個函數對象對其他類不會有用,所以我把它放在哪裏?我是否將它放在相同的命名空間和頭文件或.cpp文件中?我把它放在一個匿名的命名空間中,還是放在它自己的頭文

    0熱度

    1回答

    我有下面的代碼是一個鍛鍊(約我問here)的一部分。 class MyInt { public: MyInt(int x) : MyValue(new int(x)){}; MyInt() { MyValue = 0; } private: int* MyValue; } int main(int argc,char** a

    1熱度

    1回答

    #include<algorithm> #include<iostream> #include<vector> using namespace std; class fn { public: int i; bool operator()(int,int) { ++i; cout<<"what the poodles?

    0熱度

    2回答

    我搜索了很多,我不確定這是否重複查詢,但我使用this作爲參考,爲我的std::vector創建一個排序,該排序獲取以下類型的數據。 typedef struct { int size; int type; int id; } AC; 我能夠爲每個條件編寫單獨的函數對象。 但是,我的項目要求說我只需要一次類或結構就可以包含所有要按照size,type和id排序的

    4熱度

    1回答

    這是一個新手C++的問題。我正在閱讀維基百科的「功能對象」文章。物品具有用C++的一個例子類似以下內容: struct printClass { int &count; printClass(int &n) : count(n) {} void operator()(int &i) const { count++; cout << i <<

    6熱度

    3回答

    我要存儲在集合中有類似簽名功能,做這樣的事情: f(vector<Order>& orders, vector<Function>& functions) { foreach(process_orders in functions) process_orders(orders); } 我認爲函數指針: void GiveCoolOrdersToBob(Order); void G

    0熱度

    1回答

    我想從C++調用C API。 API需要一個函數指針,但對我來說,功能是在C++函數對象中實現的,因爲它具有狀態。 實際上,所需的功能被分成兩個功能對象。 C api需要一個函數,它有兩個指針參數用於返回每個函數對象返回的兩件事情。 除了定義一個全局函數,還有什麼方法可以使用C中的函數對象。例如,是否可以將它重新解釋爲函數指針? EDITS: 爲了簡化其確定的假設,回叫的簽名是無效(*f)(voi

    2熱度

    1回答

    我有一個元素容器,每個元素都有它的size()成員函數。我設法通過編寫一個二元運算add_size累積總容器元素的大小: #include <algorithm> #include <vector> #include <functional> #include <numeric> #include <iostream> class A { int size_ ;

    8熱度

    2回答

    我有一個模板函數接收函數對象。有時函數對象是無狀態結構,但有時它們是大型有狀態對象。函數對象的狀態在這個函數中不會被改變,只會被檢查。我也非常熱衷於編寫能夠儘可能優化編譯器的代碼。在選擇參數類型時我應該考慮什麼? 功能是這種類型的: template<typename funcT> auto make_particle(funcT fun) { Particle<typename fu

    17熱度

    3回答

    我剛纔所讀經典書「有效的C++,第3版」,並在第20項筆者的結論是,內置類型,STL的迭代器和函數對象種類較多,適合傳遞價值。我可以很好理解內建和迭代器類型的原因,但爲什麼要函數對象被傳遞由值,因爲我們知道這是無論如何類類型?