cost 126 ms
依賴於 boolean 標志的全局 object 類型(在運行時確定)

[英]Type of a global object dependent on boolean flag (determined at runtime)

我想做類似下面的事情 type1_t和type2_t是自定義類。 上面代碼片段的問題是object對於每個 if else 子句都是局部的,但我不能在 if-else 之上定義它,因為類型依賴於flag 。 后期編輯:似乎我無法在我正在使用的代碼庫中使用 C++17 功能,因此std::vari ...

在 smart_ptr 構造函數中,為什么按值傳遞而不是通過 const ref 傳遞?

[英]In smart_ptr constructor, why pass by value and not pass by const ref?

我一直在閱讀 Scott Meyer 的“Effective C++”和“More Effective C++”中關於智能指針的部分。 其中,有一個auto_ptr的實現,其構造函數編寫如下: 我的問題是:為什么構造函數中的指針不是由 const 引用傳遞的? p在構造函數中沒有改變,所以co ...

如果模板不存在則聲明模板

[英]Declare template if it does not already exist

澄清:我並不是真的在這里尋找解決方法,因為最簡單的解決方法就是安裝更新版本的庫。 只是問這個特定的事情是否可能。 更新:我剛剛意識到這個庫不僅僅是頭文件,這使得下面描述的用例不可行。 不過,抽象的問題仍然存在。 我有一些針對在其 API 中使用auto_ptr的第三方庫構建的代碼。 (存在該 ...

c++ auto_ptr 在傳入 function 時被銷毀

[英]c++ auto_ptr destroyed when passed into a function

假設我們有 我們有一個主要的 function: 書中說“當 UsePointer() 返回時,object 被銷毀,因為變量 spObj 從 scope 中消失,因此被銷毀” 我的問題是: 傳給UsePointer function時指針是否被復制? 因此所有權轉移了? 如果不希望 spObjec ...

使用 auto_ptr<std::ofstream> 目的

[英]Using auto_ptr<std::ofstream> object

我需要將我的錯誤和日志消息存儲到文件中。 這是代碼示例: 如果我將cerrFile定義為全局變量,它會正確釋放嗎? 我需要像使用常規指針一樣在退出之前關閉日志文件嗎? ...

2019-12-18 05:50:47   2   130    c++ / auto-ptr  
為什么 unique_ptr 有效,但 auto_ptr 不適用於 STL

[英]Why unique_ptr works but auto_ptr doesn’t with STL

我已經在這些問題上提到了很多 StackOverflow 鏈接,其中auto_ptr無法與 STL 一起正常工作的原因是std::auto_ptr&lt;&gt;不滿足可復制和可分配的要求(因為auto_ptr有一個假的復制構造函數,基本上轉讓所有權)。 但是即使unique_ptr也沒有復制 c ...

為什么使用引用或類的唯一指針成員是一件壞事?

[英]Why is using a reference or unique pointer member of a class a bad thing?

在赫伯·薩特(Herb Sutter)和安德烈·亞歷山大(Andrei Alexandrescu)在規則52中撰寫的“ C ++編碼標准。101規則,指南和最佳實踐”一書中,最后的報價是: “在極少數情況下,具有奇怪類型的成員的類(例如,引用,std :: auto_ptrs)是一個例 ...

使用-std = c ++ 17進行編譯時,在GCC中恢復std :: auto_ptr

[英]Resurrecting std::auto_ptr in GCC when compiling with -std=c++17

是否有宏或編譯器標志可以讓我在帶有-std=c++17 GCC 7/8中繼續使用auto_ptr ? 我已經輕松地找到了適用於clang和MSVC的宏,但是我的Google-fu不夠好,無法找到GCC的解決方案。 我不想使用-fpermissive (這會讓我無意間做了太多我不應該做的事 ...

C ++ 17中不推薦使用的auto_ptr的備用庫/模板類

[英]Alternative library/template class for the deprecated auto_ptr in C++17

具有共享的項目庫,必須使用各種編譯器C ++ 17 C ++ 03等進行編譯。因此,如果要保持代碼的通用性,僅適當地使用更好的unique_ptr或不太理想的auto_ptr是不理想的。 看一下#ifdef類型的解決方案,但它會變得混亂。 加上對經過良好測試和測試的編碼進行編輯並不是一個 ...

如何調試再氣(注冊哪種類型)

[英]How to debug regasm (what types get registered)

我們有一個托管C ++ DLL,當在regasm注冊時,它似乎向注冊表添加了一些垃圾類型。 在Blah類中,任何利用MyTeam.ManagedAutoPtr的私有變量都將添加到注冊表中。 我現在的問題是,是否可以調試為什么將某些內容添加到注冊表? 再氣/冗長無濟於事 Blah的相 ...

當auto_ptr未初始化時,get()是否可靠?

[英]Is get() reliable when an auto_ptr is uninitialized?

請考慮以下代碼: get()成員函數是否是檢查p尚未初始化的標准且可靠的方法? 它是否總是返回0,無論平台,編譯器,編譯器的優化標志等如何? ...

按值傳遞的auto_ptr類型的性能誤導性警告

[英]Misleading performance warning for auto_ptr type passed by value

我正在使用Cppcheck 1.75檢查我的項目之一,並且此代碼(為清楚起見而減少): 我收到此新的性能警告: ID:passedByValue 摘要:函數參數“ task”應通過引用傳遞。 消息:參數“任務”按值傳遞。 它可以作為(const)引用傳遞,通常 ...

為什么不允許使用賦值語法進行auto_ptr初始化

[英]Why auto_ptr initialization using the assignment syntax is not allowed

我正在閱讀本書C ++標准庫書 這是我無法理解的部分: 請注意,類auto_ptr &lt;&gt;不允許使用賦值語法初始化具有普通指針的對象。 我不明白為什么不允許這樣做。 他們試圖通過不允許使用賦值語法進行初始化來避免哪些陷阱 ...

如何用rvalue初始化std :: auto_ptr?

[英]How is std::auto_ptr initialized with a rvalue?

注釋行: bar(foo())不編譯,因為bar接受非const引用而foo返回rvalue。 但是第二行用std::auto_ptr編譯。 std::auto_ptr復制構造函數也接受非const引用。 為什么然后它編譯? 我在foo1使用了std::rand()來消除RVO(返回值 ...

為什么在auto_ptr中有模板復制構造函數和覆蓋操作符函數?

[英]why there are template copy constructor and override operator function in auto_ptr?

為什么在auto_ptr中有模板復制構造函數和覆蓋操作符函數? C ++的ISO標准為auto_ptr指定了以下接口。 (這是直接從2003年標准中復制的。) 為什么有: 我想只需auto_ptr(auto_ptr&amp;) throw(); 沒關系 。 ...

2016-06-13 05:36:00   1   66    c++ / auto-ptr  
即使所有權轉移后,我的自動指針也可以工作

[英]My Auto Pointer works even after ownership transfer

據我所知,auto_ptr用於所有權轉讓的概念。 同樣,一旦一個自動指針將其所有權轉移給另一個自動指針,它就不再能夠引用它指向的對象。 但是,並非如下面的程序所示,我發現了這種情況。 我想念什么嗎? 請幫忙。 L1行:由於p1不再擁有所有權,這如何工作? L2行:由於p1不 ...


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