cost 63 ms
`return_if_null(T* ptr)` 可能嗎?

[英]is `return_if_null(T* ptr)` possible?

我發現自己做了很多void doSomethingCool(CoolObject* coolObject) { if (coolObject == nullptr) { return; } // now _actually_ do something cool } ...

為什么嘗試使用 cout 打印 unicode 編碼字符串會導致較新的 C++ 標准出現編譯錯誤?

[英]Why trying to print unicode encoded strings with cout leads to compilation error in newer C++ standards?

我嘗試使用 Visual C++ 2022 版本 17.4.4 將 C++ 標准設置為最新來打印 Unicode 個字符。 我有編譯錯誤: 使用u (utf-16) 和U (utf-32) 字符串文字觀察到相同的行為。 將標准設置為 C++17 或 C++14 使程序可以編譯。 在 C++20 和 ...

CMake 設置項目為 C++ 20

[英]CMake set project to C++ 20

我正在嘗試將 C++ 標准從版本 17 更改為 20,以便我可以使用 jthread 庫。 在我添加的項目的根 CMakelists.txt 上: 但是當我再次構建項目並查看程序運行的版本時,它仍然是 C++ 17 版本而不是 C++ 20。 我檢查運行以下行的版本: 我正在使用 g++ (Ubu ...

有沒有辦法從可取消引用的類型中獲取取消引用值的類型?

[英]Is there a way to get the type of a dereferenced value from a dereference-able type?

我在玩 C++ 概念,遇到了一個有趣的問題。 我有以下兩個自定義概念: 顧名思義,第一個用於確定給定類型是否可以取消引用,而另一個用於檢查類型是否支持 output 運算符。 我還有一個名為println的 function 模板,如下所示: 當且僅當類型T是可取消引用並且取消引用值的類型是可打印 ...

概念由看似會產生無效表達式的類型滿足

[英]Concept is satisfied by a type that would seemingly produce an invalid expression

在下面的代碼中, can_foo概念測試是否可以在類型的實例上調用foo()成員 function。 我將使用它來測試兩個模板的實例: base有條件地啟用foo成員 function, derived覆蓋foo以調用其 base 的實現:template <typename T> co ...

當仿函數需要多個 arguments 時正確使用 std::variant 和 std::visit

[英]Correct use of std::variant and std::visit when functor requires multiple arguments

我一直在努力讓我的代碼結合使用std::variant和std::visit來工作。 我現在已經將我的代碼減少到最少只在我的變體中使用一種類型,但編譯器仍然抱怨沒有匹配的訪問調用。 我正在使用 gcc 11.3 ...

無法推斷范圍迭代器的類型

[英]Can not deduce type of ranges iterator

以下代碼無法在 MSVC 2022 和 gcc 12.1(啟用 c++20)上編譯,並出現相同的錯誤: (**)行生成一個錯誤,無法推斷出param_type ctor 迭代器的類型: std::discrete_distribution<int>::param_type::param ...

C++20 特性 std::bit_cast:重新解釋類型 from 到 type to 時值會發生什么

[英]C++20 feature std::bit_cast : what happens to the value while reinterpreting type from to type to

C++20 中的std::bit_cast是reinterpret_cast的更安全版本,它與constexpr一起使用,所以我讀到,但這是否意味着所涉及變量的實際值也按位重新解釋? 例如下面的簡單代碼 產生這個 output f: 123.017, f_int: 1123420340 我正在嘗 ...

2023-01-29 08:57:02   1   54    c++ / c++20  
如何從 variadric class 模板構建沒有任何輸入值的參數包?

[英]How to build a parameter pack without any input values, from variadric class template?

我有一個 class,它將產生一組值並將它們傳遞給回調,如可變參數模板 arguments 所定義: 我的真實代碼是模板化的 SQL 語句處理程序,因此這些是要從數據庫中讀取的類型。 為了簡化,想象一下這些虛擬方法產生的值: 在實際代碼中,這些是轉換特征。 有問題的代碼試圖將生成的值放入回調中。 ...

C++ 指向空 class 的指針的大小是多少?

[英]C++ What is the size of a pointer to an empty class?

長話短說: 指向空 class empty_t的指針的大小是多少? C++20 屬性[[no_unique_address]]是否對該指針大小有任何影響? 特別是,第一個似乎是一個相當古老的問題,但很難在 Inte.net 上找到信息(因為搜索被更多關於指針和空基類優化的瑣碎信息所破壞)。 更長 ...

擦除作為 NTTP 注入的 static 字符串中的字符類型和字符串長度?

[英]Erasing character type and string length in a static string injected as NTTP?

我目前正面臨一個與字符串文字和類型擦除有關的模板元編程問題。 問題如下。 讓我們考慮以下代碼: 問題:如何設計一個 class static_string ,它將作為其類型的一部分“擦除”字符類型及其長度,以便上面的static_assert不會失敗? ...

帶有 git 個子模塊的未解析外部符號

[英]Unresolved external symbols with git submodules

我有一個包含 2 個項目的解決方案: 一庫static(杏仁) 使用該 static 庫的項目(沙盒) 除了我使用的是 C++20 模塊外,我正在觀看和關注 The Cherno 的游戲引擎系列。 他通過git submodule add了spdlog 。 我做了同樣的事情。 然后我將$(Solut ...

關於 std::vector 中不完整類型的混淆(或 Clang 錯誤?)

[英]Confusion (or Clang bug?) about incomplete types in std::vector

[vector.overview]/4 中的 C++20 標准狀態: 如果分配器滿足分配器完整性要求,則在實例化 vector 時可以使用不完整類型 T。 在引用向量的結果特化的任何成員之前,T 應該是完整的。 默認分配器std::allocate確實滿足allocator completene ...

Niebloids 可以在需要 Callables 的地方傳遞嗎?

[英]Can Niebloids be passed where Callables is required?

一般來說,除非明確允許,否則 C++ 程序嘗試獲取標准庫 function 的指針的行為是未指定的。 這意味着在將它們作為Callable傳遞之前應格外小心。 相反,通常最好將它們包裝在 lambda 中。 有關該主題的更多信息: 我可以獲取標准庫中定義的 function 的地址嗎? 然而,C+ ...

如何獲取 std::chrono::time_point<std::chrono::system_clock, std::chrono::seconds> 來自年、月、日、小時、分鍾和秒的變量?</std::chrono::system_clock,>

[英]How to get std::chrono::time_point<std::chrono::system_clock, std::chrono::seconds> from variables of year,month,day,hour,minute and seconds?

我已經聲明了一個 time_point 變量並嘗試從年月日等分配值。但是當我使用 sys_days 時它失敗了。 代碼如下。 代碼遇到錯誤,但我不知道如何修復。 感謝您的幫助。 ...

如何從 std::iota 構建跨度?

[英]How to construct a span from std::iota?

以下作品:#include &lt;vector&gt; #include &lt;ranges&gt; int main() { auto view = std::vector&lt;int&gt;{0,1,2,3,4}; auto s = std::span{view.beg ...

可能性屬性對單個 if 語句有意義嗎?

[英]Do likelihood attributes make sense with a single if statement?

state Cppreference和本文檔並未明確表示似然屬性不適用於單個if語句。 或者,我只是不明白alternative path of execution是什么意思。 所以這就是我的問題,例如[[unlikely]]屬性是否適用於以下情況? ...

在必須連接兩個 const char* 變量的情況下,如何避免在 C++ 中使用 #define 宏?

[英]How to avoid using #define macros in C++ in a case where I have to concatenate two const char* variables?

我想在我的代碼中刪除對 #define 宏的依賴,但我無法使用constexpr實現相同的功能。 實際考慮以下示例: 我已經了解到fmt::format() function 不是一個constexpr function 而它只是一個運行時 function 的艱難方式。我期待我可以在代碼上更具表 ...

在沒有編譯器優化的情況下,特定於平台擴展的 volatile-specifier 替換為硬件寄存器訪問?

[英]Platform-extension-specific replacement for volatile-specifier as hardware-register access without compiler optimizations?

在 C++20 及更進一步的版本中,變量的 volatile 說明符在很大程度上已被棄用。 使用 GCC 的嵌入式開發人員長期以來一直依賴這個(有缺陷的)說明符。 代碼圖中可能出現副作用的概念,代碼中的 C++ 語句不清楚,這不是一個好的 C++ 核心語言標准想法。 GCC 實現了它自己的 C+ ...


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