temporary-objects

    3熱度

    1回答

    我仰視上cppreference.com lifetime of a temporary,我發現的東西從C++ 14改變在構件初始化列表綁定到一個基準部件的臨時對象的: 每當引用綁定到一個臨時的或到的 臨時基類子對象,臨時的壽命延長到 壽命的基準的匹配,但有以下例外: ... 一個臨時的參考構造函數初始值設定項列表中的e成員僅在構造函數退出前持久存在,而不存在於對象存在時的 。 (注:如初始化形成

    2熱度

    1回答

    我有一個網站,其視頻URL始終被吸引。我使用JWPLAYER爲託管在谷歌雲存儲上的視頻提供視頻。我的網站非常多,我的視頻被盜鏈。我想爲臨時視頻採用臨時網址。我需要做什麼?我應該閱讀哪些簡單的實施指南?

    1熱度

    2回答

    我下面這個教程 - http://www.learncpp.com/cpp-tutorial/132-function-template-instances/ // passing all parameters by references template <typename T1, typename T2> const T2& add_two_objects(const T1& x,cons

    0熱度

    1回答

    我需要一些關於const引用的說明。 從this link: const Foo &myFoo = FuncBar(); const引用擴展本地對象的壽命。但是,當我檢查this link雖然他們使用const引用 Sandbox(const string& n) : member(n) {} 串的一生「四個一」並沒有增加。 Sandbox sandbox(string("four"));

    -3熱度

    2回答

    當我運行下面的代碼: std::string myString = "I'm a string."; const std::string::iterator &myIterator = ++myString.begin(); char c = *myIterator; std::cout << c << std::endl; 我得到一個分段錯誤(O3帶編譯優化)。我認爲這是因爲++運營商

    10熱度

    2回答

    在C++中(如果錯誤,請糾正我),通過常量引用的臨時綁定應該超過它所綁定的表達式。我認爲Rust也是如此,但在兩種不同的情況下,我得到了兩種不同的行爲。 考慮: struct A; impl Drop for A { fn drop(&mut self) { println!("Drop A.") } } struct B(*const A); impl Drop for B { fn d

    0熱度

    2回答

    我想要下面的代碼創建5個類「test」的對象,每次創建時調用構造函數,將它們存儲在一個向量中,打印「lalalala」一次,然後運行析構函數並銷燬創建的對象。我希望析構函數爲我創建的每個對象運行一次,但不要超過一次。 我認爲在下面的例子中,C++創建了多個不需要的對象的副本,否則它會調用析構函數多次。我不確定。試過海灣合作委員會和鏗鏘沒有區別。嘗試堆棧和堆分配,以及std :: move。所有產生

    1熱度

    1回答

    最近我看到一個代碼審查過程中下面的代碼片段: const QString& temp("some text"); const QString& temp1("some text1"); (...) if (temp == "whatever") { } // etc 因爲這樣的臨時看起來有點奇怪,我只是想詢問是否有人可以解釋什麼是這種方式構建對象的優缺點?我只想去尋找cons

    5熱度

    3回答

    我正在用指針實現方式在不可變對象上實現裝飾器模式。基本上我的設置是這樣的 struct Object : ObjectBase { void doSmth() override { impl->doSmth(); } // this is the function I'd like to implement Object decorateWith

    2熱度

    2回答

    是這樣的: auto& ref1 = *it++; ref1 = expression; // (1) 爲前向迭代所需的語義的一個?那麼隨機訪問迭代器呢? auto& ref1 = it[3]; ref1 = expression; // (2) 根據cppreference,正向迭代器必須: // Return reference, which equals to (const) v