temporary-objects

    35熱度

    4回答

    C++允許將臨時對象僅分配給常量引用。它不會允許指定臨時對象的分配。 例如: String& a = String("test"); // Error const String& a = String("test"); // Ok 我到處谷歌這樣的結果,我只看到了如下回答 修改臨時對象會造成無法識別的問題 修改臨時對象是危險的 在某個時間點,你會忘記它是一個臨時變量 有人說,臨時物體在聲

    -2熱度

    3回答

    我正在尋找一種方法來把這個(工作): HandleScope scope; scope.Close(stuff); 進入像這樣的東西: (HandleScope scope).Close(stuff); 我試着用: HandleScope::Close(stuff); 但它不工作。 [@Xeo] 這是一個從V8這個類。 http://bespin.cz/~ondras/html/cl

    16熱度

    2回答

    我知道將一個右值賦給常量左值引用的事實將臨時對象的生命週期擴展到範圍的末尾。然而,我不清楚何時使用這個以及何時依賴返回值優化。 LargeObject lofactory(...) { // construct a LargeObject in a way that is OK for RVO/NRVO } int main() { const LargeObject&

    0熱度

    4回答

    我沒有得到將對象的實例傳遞給傳遞取消引用的對象的區別。我有 class A { public: A() {} void m() {} }; void method(A& a) { a.m(); } int main(int argc,char** argv) { method(A()); return 0; } 調用上面

    1熱度

    1回答

    我希望能夠將消息從隊列中拉出和插入。是否有可能爲此利用JMS功能,還是應該爲此創建自定義數據結構? 請讓我知道是否有任何其他特定的設計模式的臨時存儲。 更新: 由於許多人要求更多的細節,所以在這裏。我的要求是將消息存儲在多個客戶端可以將數據推送到的隊列中,並在需要時將數據從其中拉回。該隊列應該可供多個客戶端使用。一條消息應該只處理一次,如果客戶端無法處理數據,則消息應該返回隊列。

    4熱度

    3回答

    我想將這份工作代碼: ofstream outfile("my_file.txt"); copy(v.begin(), v.end(), ostream_iterator<int>(outfile)); 成這樣: copy(v.begin(), v.end(), ostream_iterator<int>(ofstream("my_file.txt"))); 換句話說,我用一個 「匿名」

    19熱度

    2回答

    本地左值引用給const和右值引用可以延長臨時對象的生命週期: const std::string& a = std::string("hello"); std::string&& b = std::string("world"); 不會當初始化不是一個簡單的表達,也在努力工作,但使用條件運營商? ​​ 如果其中一個結果是臨時對象而另一個不是? std::string d = "hello"

    2熱度

    2回答

    考慮下面的代碼(最低版本): #include <iostream> struct Base { virtual ~Base() {} virtual void test() const { std::cout << "base"; } }; struct Derived : public Base { void test() const { std:

    18熱度

    7回答

    最近我正在通過Herb Sutter的「Exceptional C++」,並且我對他在第6項 - 臨時對象中給出的一個特殊建議深表懷疑。 他提供找到下面的代碼不必要的臨時對象: string FindAddr(list<Employee> emps, string name) { for (list<Employee>::iterator i = emps.begin(); i !=

    7熱度

    3回答

    我有一個相當基本的C++的問題,可以考慮一個函數,需要一些輸入參數,並創建一個std::string從類似下面的這些參數: std::string constructString(int some_parameter) { std::stringstream ss; // Construct a string (arbitrarily complex) ss <<