cost 337 ms
變量結構的成員初始值設定項列表中的數組是否可能?

[英]Is an array in a member initializer list for a variadic struct possible?

我創建了一個基於std::tuple的可變參數結構。 然后,我想在成員初始值設定項列表中使用具有自動類型推導/ class 模板參數推導的 C 樣式數組。 我創建了一個最小的可重現示例: 我希望使用嵌套的大括號初始化列表在std::tuple中創建一個數組。 所以,最后,一個std::tuple與 ...

C 雙括號

[英]C double parentheses

我不知道這個“功能”叫什么,所以我無法用谷歌搜索它,如果標題沒有意義,我也很抱歉。 我最近查看了 suckless dwm 的源代碼並看到了這段代碼:(來自 dwm.c) 還有這個: void (*handler[LASTEvent]) (XEvent *)是什么意思? 它叫什么以及為什么使用它? ...

成員初始值設定項列表是否被視為構造函數主體的一部分,或者它是否被視為聲明符的一部分

[英]Is member initializer list considered part of the body of a constructor or it it considered part of the declarator

我正在學習 C++ 中的成員初始值設定項列表。請考慮以下示例: 我的第一個問題是成員初始age(pAge)正式成為構造函數主體的一部分。 我的意思是我讀過函數的主體從開頭{到結尾}開始。 據我目前的理解,這里涉及四件事: Ctor定義:這包括整個 成員初始值設定項:這是age(pAge)部分。 ...

使用委托構造函數時的成員初始化

[英]Member initialization while using delegate constructor

C++ 標准不允許在單個 mem-initializer-list 中使用委托構造函數和成員初始化器,但以下代碼可以使用 clang++ 和 g++ 進行良好編譯。#include <iostream> class Shape { public: Shape(); ...

使用成員初始化器列表初始化 class object 的參考變量?

[英]initializing reference variable of class object with member initializer list?

https://stackoverflow.com/a/8523361/11862989從這個答案中可以看出這個問題。 我覺得那個答案有小問題,所以我在那里發表了評論,但沒有得到他的回復(我指的是那個人(190K Reputation)的答案)所以我在這里問了一小部分。 1. 。H .cp ...

為什么派生類的構造函數要在C++中初始化虛擬基類?

[英]Why do the constructor of the derived classes want to initialize the virtual base class in C++?

我的理解,例如閱讀 本文,是派生類的構造函數不會調用其虛擬基類的構造函數。 這是我制作的一個簡單示例: 出於某種原因,構造函數B::B()和C::C()正在嘗試初始化A (在我的理解中,此時應該已經由D初始化了): 我確定我誤解或做錯了一些非常基本的事情,但我不知道是什么。 ...

顯示整個堆棧時,僅顯示堆棧的最后一個元素。 為什么?

[英]When the entire stack is displayed, only the last elements of the stack are displayed. Why?

我需要在列表末尾添加新項目,刪除最后一個並顯示整個列表。 顯示整個列表時,由於某種原因,僅顯示堆棧的最后一個元素,按列表中的元素數量計算。 為什么? ...

正在調用默認構造函數而不引用它

[英]Default constructor is being called with no reference to it

為什么以下代碼不起作用: 它說它需要實體的默認構造函數,但為什么呢? 我使用的唯一實體 object 是使用使用 1 個參數的構造函數構建的。 另外,為什么要更改Example s1; Example s1(); 將導致我的代碼以不同的方式工作(我在屏幕上看不到任何打印。 ...

C++ 構造函數初始化列表“錯誤:預期的'('或'{'”

[英]C++ constructor initializer list “ error: expected '(' or '{'”

這不編譯: 但這確實: 請賜教,為什么我不能像前者那樣表達? 我找了一個多小時,找不到解釋。 我確定我忽略了一些簡單的事情。 clang 版本 9.0.0 (tags/RELEASE_900/final) 目標:x86_64-apple-darwin17.7.0 clang++ -std=c++ ...

為什么我不能使用= default作為默認ctors和成員初始化列表

[英]Why can't I use =default for default ctors with a member initializer list

考慮以下課程: ( 編輯 :因為它在幾個答案中被提到 - 我知道在課堂成員初始化者,但這不是重點) 我認為第二個ctor定義會更優雅,更適合現代C ++代碼( 如果你必須明確使用默認語義,請參閱為什么你應該使用=default )。 但是,沒有常見的編譯器似乎接受它。 並且cp ...

C++多級虛擬繼承編譯問題

[英]C++ Multi-level virtual Inheritance compilation problem

我正在處理一個 C++ 項目,其中我正在使用多級繼承。 這是我的示例代碼: 有人可以解釋一下這段代碼有什么問題嗎? 錯誤:沒有匹配的函數調用“ ClassA::ClassA() ” ClassC(int a,int b,int c) : ClassB(a, b, c) {} ...

虛擬基類初始化

[英]virtual base classes initiailization

我正在做一項測試,我很難理解這個: 返回值是 20 000,但實際上我不明白為什么: 所有代表虛擬基類的子對象都由最派生類的構造函數初始化。 如果最派生類的構造函數沒有為虛擬基類 V 指定 mem-initializer,則調用 V 的默認構造函數來初始化虛擬基類子對象。 我嘗試了不同 ...

是否定義了未初始化對象的成員的地址?

[英]Is taking the address of a member of an uninitialized object well defined?

考慮以下示例。 當bar被構造時,它給它的基類型 ( foo ) 構造函數my_member.y的地址,其中my_member是尚未初始化的數據成員。 這個定義清楚嗎? 獲取未初始化對象的數據成員的地址是否合法? 我發現了這個關於傳遞對未初始化對象的引用的問題,但這不是一回事。 在本例中,我使用 ...

成員初始化列表中的遞增是否會生成未定義的行為?

[英]Does incrementing in a member initializer list generate undefined behavior?

這會導致未定義的行為嗎? 具體來說,初始化列表中的遞增以及如何評估。 成員聲明和初始化程序列表之間的順序差異是有意的,因為這是一個可以准確顯示該差異的示例,因此請暫時忽略它。 ...

虛擬繼承的內部機制

[英]Internal mechanism of virtual inheritance

C ++中的示例代碼: 這是鑽石問題的典型代碼(解決方案)。 我知道為什么使用虛擬關鍵字。 但是我不了解編譯器處理問題的內部機制。 現在我遇到了關於所述機制的兩種不同理論,如下所述。 當使用virtual關鍵字繼承類時,編譯器會在派生類中添加虛擬基指針。 我檢查了派生類 ...

為什么除非大多數派生基顯式調用它們,否則不調用虛擬基非默認構造函數?

[英]why are virtual base non-default constructors not called unless most-derived base explicitly invokes them?

我想了解WHY C ++標准的強制性要求,即在使用'-D_WITH_BUG_'進行編譯時,不能由中間NOT最高派生類調用虛擬基類非默認構造函數: 因此,當編譯時不帶-D_WITH_BUG_時,代碼將輸出: 但是當使用-D_WITH_BUG_編譯時: 為什么在這里必須忽略B ...

為什么在創建大多數派生類的對象時,大多數基類(Virtual)的默認構造函數沒有在私有虛擬繼承中被調用?

[英]Why default constructor of most base class (Virtual) is not getting called in private virtual inheritance while creating object of most derived class?

在創建大多數派生類的對象時,如何在私有虛擬繼承中調用大多數基類的默認構造函數。 但是在大多數派生類的構造函數初始值設定項列表中提到時,不會調用相同的方法。 我的問題: 對於下面提到的代碼 我得到以下編譯錯誤: 錯誤:在此上下文中無法訪問“class AA::A” 為什么 A() 構造函 ...


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