cost 351 ms
更喜歡通過隱式構造函數或隱式轉換運算符將一種類型轉換為另一種類型?

[英]Prefer one type convert into another through implicit constructor or implicit conversion operator?

假設我們有程序void f(X2); . 進一步假設我們有不共享 inheritance 層次結構的類型X1和X2 。 我們想這樣稱呼它: f(X1{})並將X1隱式轉換為X2 。 我們有兩種選擇來實現這一目標:struct X2 {}; struct X1 { operator X2(); } ...

"默認和參數化構造函數和對象聲明"

[英]Default and Parameterized constructors and object declaration

我寫了這段代碼: 結果: 結論:像這樣定義對象 s1 Student s1={"abc", 20}調用類的參數化構造函數 測試結論: 但是編譯上面的代碼並沒有給出任何錯誤。 問題: 為什么即使我們沒有在類中定義任何參數化構造函數也沒有錯誤? 當我們將類數據成員定義為priva ...

從 `const char *` 隱式構造 `const std::string` 有效嗎?

[英]Is implicit construction of `const std::string` from `const char *` efficient?

像許多人一樣,我習慣將新的字符串函數編寫為const std::string &的函數。 優點是效率(您可以傳遞現有的std::string對象而不會產生復制/移動的開銷)和靈活性/可讀性(如果您只有一個const char *您可以傳遞它並隱式完成構造,而不會造成混亂使用顯式的std:: ...

如何在C ++中檢測類是否具有隱式構造函數和原始成員?

[英]How can I detect whether a class has an implicit constructor AND primitive members in c++?

我想在編譯期間(靜態斷言)檢測類是否同時滿足以下兩個條件: 具有隱式默認構造函數(即,沒有用戶定義的默認構造函數)。 具有至少一個作為Pod的數據成員(即,其默認初始化是假定其內存地址中包含任何隨機字節的成員)。 [我希望我在這里正確使用了pod一詞] 這樣做的目的是 ...

為什么調用轉發引用構造函數而不是復制構造函數?

[英]Why is forwarding reference constructor called instead of copy constructor?

給出以下代碼 我得到以下輸出 為什么復制構造函數被解析為模板轉發引用構造函數而不是移動構造函數? 我猜這是因為移動構造函數是隱式定義的,而不是復制構造函數。 但是在閱讀了堆棧溢出中沒有隱式定義復制構造函數的情況后,我仍然感到困惑。 ...

移動對象而不使用移動構造函數

[英]Move object without a move constructor

還有一次關於這一點,但相關的問題沒有回答我的問題。 標准很清楚: 12.8復制和移動類對象, §9 如果類X的定義沒有顯式地聲明一個移動構造函數,那么當且僅當一個移動構造函數被隱式聲明為默認值時 - X沒有用戶聲明的復制構造函數, - X沒有用戶聲明的復制賦值 ...


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