cost 149 ms
內聯變量的初始化順序

[英]Initialization order of inline variables

假設我有以下三個文件。 標題.h: 文件 1.cpp: 文件2.cpp 我能保證a在b和c之前初始化,導致b == a + 5和c == a + 3嗎? 我的理解是,在一個編譯單元內,我確實可以保證文件范圍變量是按從上到下的順序初始化的。 但這是否保證擴展到內聯變量,因為它們只存在一次,即使它們是在 ...

內聯 static constexpr 與全局內聯 constexpr

[英]inline static constexpr vs global inline constexpr

假設我在 header 文件中有一些inline constexpr變量(命名為default_y和default_x ),我決定將它們移動到與它們完全相關的 class 並將它們標記為static (因為它在設計方面看起來更好)。 所以問題是,這會在程序開始時如何以及何時初始化它們(以及整體效率 ...

內聯聲明:var 與 const

[英]Inline declarations: var vs const

當我使用內聯聲明時,我應該更喜歡const不是var嗎? 在所有在線示例中,甚至在 Delphi 自己的文檔中,我都看到使用了var 。 但是,我認為const通常能更好地表達我的意圖,並防止意外修改。 小例子來說明我的意思: 那么, UsingConst實現有什么缺點或危險嗎? ...

如何在 Rio 中內聯 static 數組變量

[英]How to inline static array variables in Rio

我沒有內聯結構,例如 這有效: 但是如果FileName是內聯的,這將失敗: 我設法內聯了 12K 的任何類型的變量,但似乎無法內聯以下形式的任何內容: 請建議它在 Rio 10.3.3 中是如何完成的。 ...

內聯靜態數據的初始化

[英]Initialization of inline static data

我想知道如何以及何時在 C++ 中初始化靜態內聯數據(例如在 gcc 或 clang 中)。 我知道這是一個特定於某些架構的問題,與 C++ 標准無關。 我知道對於靜態/全局非內聯數據,gcc 使用.init和.fini部分來構造和銷毀具有此類限定符的對象,但這不適用於內聯靜態數據,因為它可以在許 ...

在 total.js 中,是否可以為變量賦值或在 HTML 中的嵌套 @{foreach...} 內聯內保存/使用 @{foreach...} 的索引?

[英]In total.js is it possible to assign value to variables or save/use the index of a @{foreach...} inside a nested @{foreach...} inline in the HTML?

例如,是否可以在與此類似的示例中定義/使用“item_index”: 是否可以在進入嵌套循環之前分配像@{item_index = index} 這樣的值? ...

靜態存儲中的內聯變量何時初始化?

[英]When are inline variables in static storage initialized?

C++ 標准(至少早於 C++17)已經說明了初始化順序。 在同一個翻譯單元的命名空間范圍內定義並動態初始化的靜態存儲持續時間的對象應按照其定義在翻譯單元中出現的順序進行初始化。 C++17 引入了內聯變量,我相信這意味着可以在多個翻譯單元中定義具有靜態存儲持續時間和命名空間范圍以及動 ...

頭文件中的內聯std :: mutex

[英]Inline std::mutex in header file

我在不同的cpp文件中使用全局std::mutex 。 可以在頭文件中將其聲明為inline嗎? mtx是這樣構造的嗎? 是否應該顯式初始化? 如: ...

內聯變量跨邊界唯一嗎?

[英]Are inline variables unique across boundaries?

這是該問題的后續措施。 如答案的評論中所述: 內聯變量的屬性為- 每個翻譯單元中的地址都相同 。 [...]通常,您是通過在cpp文件中定義變量來實現的,但是使用內聯說明符,您可以僅在頭文件中聲明/定義變量,並且使用此內聯變量的每個翻譯單元都使用完全相同的對象。 而且,從 ...

使用內聯靜態數據成員有任何潛在的陷阱嗎?

[英]Any potential pitfall of using inline static data member?

C ++ 17引入了內聯變量 ,可以在類定義中使用初始化程序定義內聯靜態數據成員。 它不需要類外定義。 例如, 鑒於此,對於整潔的語法,我認為沒有理由不總是使用內聯靜態數據成員。 有什么陷阱嗎? 請注意,我不介意編譯速度較慢。 ...

所有的 constexpr 變量都是隱式內聯的嗎?

[英]Are all constexpr variable implicitly inline?

我在玩自動模板參數,我很驚訝這段代碼沒有編譯: Visual Studio 15.7(預覽版 4)吐出這些錯誤: 然后,在添加inline ,錯誤消失了! 我認為constexpr變量是隱式inline 。 另外,這如何影響我的變量bar的鏈接? ...

在匿名名稱空間中定義全局constexpr變量是否與使它們內聯相同?

[英]Defining global constexpr variables in anonymous namespace the same as making them inline?

跟進為什么cppreference會將type_traits xxx_v快捷方式定義為內聯constexpr而不僅僅是constexpr? ,如果我創建自己的類型特征並希望避免違反ODR並希望它與C ++ 17之前的項目兼容,是否將xxx_v快捷方式放在匿名命名空間中,是否與顯式聲明它內聯一樣 ...

為什么cppreference將type_traits xxx_v快捷方式定義為內聯constexpr而不僅僅是constexpr?

[英]Why does cppreference define type_traits xxx_v shortcuts as inline constexpr and not just constexpr?

為什么cppreference將type_traits xxx_v快捷方式定義為inline constexpr而不僅僅是constexpr ? 例如,請參見is_integral_v : 這僅僅是樣式問題還是行為上有區別? 據我所知, constexpr變量是隱式inline ...

內聯靜態自動化的初始化程序“sizeof(T)”...是否需要實例化?

[英]Initializer “sizeof(T)” of inline static auto… Does it need instantiation?

如果表達式的類型不依賴,但我們用它來初始化靜態自動變量會發生什么? GCC和Clang的行為不同 GCC不會引發錯誤。 但Clang認為這是無效的,因為它實例化了“sizeof”的操作數。 GCC似乎跳過了那一步,因為sizeof(T{}.f)總是有類型size_t (不依賴於類型 ...


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