cost 216 ms
gsl::owner 是否可用於共享所有權?

[英]Is gsl::owner usable for shared-ownership?

比如Qt可以用在下面嗎? 在此示例中,所有權由 new-site 和parent共享,因為對 object 進行new的代碼可以delete w ,並且W的析構函數會將其自身從parent列表中取出。 然而,如果w沒有在新站點被刪除,那么parent將在它的析構函數中刪除它。 這是共享所有權的例子 ...

直接用代碼表達想法——定義是什么意思?

[英]Expressing ideas directly in code - what does the definition mean?

我是 c++ 的新手,我正在閱讀核心指南,我遇到了這個: P.1:直接在代碼中表達想法在這里,它說要使用像Month month() const;這樣的東西。 而不是int month(); 所以我有兩個問題,為什么在 function 的末尾有一個 const ,它有什么作用? 以及如何定義月 ...

為什么 not_null 還沒有進入 C++ 標准?

[英]Why hasn't not_null made it into the C++ standard yet?

在第 N 次向原始指針添加注釋"// not null"后,我再次想知道not_null模板發生了什么。 C++ 核心指南是在很久以前創建的,一些內容已經納入標准,例如std::span (有些像string_view和std::array起源於核心指南本身,但有時會混淆)。 鑒於它相對簡單,為 ...

在這種情況下如何防止 ODR 違規?

[英]How to prevent ODR violations in this case?

免責聲明:這個問題是關於防止意外的命名沖突,並確保以下代碼無法編譯/鏈接。 [編輯] 實際上,我很高興有一些東西可以阻止它編譯/鏈接,或者一些可以解決這個問題的東西,比如匿名名稱空間。 但是匿名命名空間不應該在標頭內 go 。 這里發生的是 ctor S::S 有兩個內聯定義,因此允許 link ...

如何為 gsl:narrow 定義 __cpp_exceptions 以進行編譯?

[英]How do I define __cpp_exceptions for gsl:narrow to compile?

我又糊塗了:( 我看過這個討論: 在編譯時檢測異常是否被禁用我是嘗試使用 GSL 的新手。 我已將 GSL 文件夾復制到我的 PC,並在我的stdafx.h文件中添加了#include 。 但是gsl:narrow命令沒有公開。 然后我看到它指的是__cpp_exceptions宏/令牌。 我試 ...

gsl::not_null 會影響性能嗎?

[英]Does gsl::not_null hurt performance?

C++ 核心指南建議使用gsl::not_null類型。 如 I.12 中所述:將不得為 null 的指針聲明為not_null : 幫助避免取消引用 nullptr 錯誤。 通過避免對 nullptr 進行冗余檢查來提高性能。 ... 通過在源代碼中說明意圖,實現者和工具可以提供更好的診斷, ...

在 C++ 中定義接口(沒有成員的抽象類)

[英]Defining interfaces (abstract classes without members) in C++

接口(C# 術語)是指沒有數據成員的抽象 class。 因此,這樣的 class 只指定了子類必須實現的契約(一組方法)。 我的問題是:如何在現代 C++ 中正確實現這樣的 class? C++ 核心指南 [1] 鼓勵使用沒有數據成員的抽象 class 作為接口 [I.25 和 C.121]。 ...

靜態成員變量的 C++ 核心指南

[英]C++ Core Guidelines for static member variables

我的類中有一個私有靜態向量,它保留一個指向從它創建的所有對象的指針。 這是必要的,因為每個對象都需要訪問來自所有其他對象的信息來執行一些計算: // Header file: class Example { public: Example(); private: static std ...

如何使用 gsl 窄強制轉換

[英]How to use gsl narrow cast

我試圖了解如何使用gsl::narrow_cast而不是static_cast 。 我在 stackoverflow 上找到了一個函數,它有一個字符串作為參數,如果所有字符都是 ASCII(前 127 個字符),則返回 true。 我已經在我的代碼中實現了這個函數,我注意到 Visual Stu ...

如何正確使用“C++ 核心指南:C.146:在 class 層次導航不可避免的地方使用 dynamic_cast”

[英]How to properly use “C++ Core Guidelines: C.146: Use dynamic_cast where class hierarchy navigation is unavoidable”

動機 C++ 核心指南建議在“類層次導航不可避免”時使用dynamic_cast 。 這會觸發 clang-tidy 拋出以下錯誤: Do not use static_cast to downcast from a base to a derived class; use dynamic_cas ...

使用核心指南 GSL Expects、Ensures 和narrow_cast 處理錯誤

[英]Error Handling with Core Guidelines GSL Expects, Ensures, and narrow_cast

我正在嘗試遵循 Cpp 核心指南並在適當的情況下使用 GSL。 特別是,我想將Expects和Ensures用於前置條件和后置條件,以及span和narrow_cast ,但錯誤處理並不可靠,並且不提供任何診斷。 當遇到錯誤時,GSL 只是調用terminate ,讓測試人員不知道是什么導致了終止。 ...

CppCoreGuidelines:什么是熱 int 副本?

[英]CppCoreGuidelines: What are hot int copies?

我一直在閱讀CppCoreGuidelines F.15 ,但我不理解參數傳遞表中的以下句子: “便宜” ≈ 少量熱 int 副本 “中等成本”≈memcpy hot/contiguous ~1KB 且無分配 “熱 int 副本”是什么意思? ...

不要使用 static 進行算術轉換(cpp-core-guidelines)

[英]Don't use static cast for arithmetic conversions (cpp-core-guidelines)

msvc 的 cpp 核心指南代碼分析器告訴我警告 C26472 不要使用 static_cast 進行算術轉換。 使用大括號初始化、gsl::narrow_cast 或 gsl::narrow (type.1)。 對於這個片段 為什么我不應該在這里使用 static_cast ? 此外,使用大 ...

斷言在 Visual Studio 中被視為 C 樣式轉換

[英]Assert is seen as C style cast in Visual Studio

這是錯誤和代碼一瞥 我的一門課程要求我使用警告級別 4 並將警告視為 Visual Studio 中的錯誤。 除此之外,我們還需要激活 Cpp Core Guidelines。 然而,自從我激活這些選項后,我一直被警告錯誤 C26493 所困擾(不要使用 C 風格的演員表)。 顯然,他們認為我的“斷 ...


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